通过 PowerShell 添加与当前用户类似的 SQL 用户?

通过 PowerShell 添加与当前用户类似的 SQL 用户?

我正在慢慢完善新用户脚本。事实上,我的脚本将完成向我们的域添加新用户的所有工作,除了一件事。我们有一个内部程序,网页前端连接到 SQL 数据库。通常,我会转到网页并打开当前用户以供参考,然后添加具有与当前用户相同条件(姓名、电子邮件和用户名除外)的新用户。我认为将其添加到脚本中会很好,这样所有内容都在一个位置。而且,我认为通过后端添加新用户比通过网页前端添加新用户更容易(无论如何使用 PowerShell)。我实际上没有太多的 SQL 经验,但我认为这是在学习 PowerShell 的同时学习一些基本命令的好时机。

总而言之,我希望脚本转到 SQL 服务器,查找我告诉它的用户(我已经为当前用户设置了一个变量,用于其他用途),创建一个与该用户相同的新用户,但其姓名/电子邮件地址/登录名除外。有几个字段是相同的;部门、组等。

感谢您给出的任何指点!

答案1

您可以使用标准 .Net 数据访问对象在数据库上执行 SQL 或存储过程。我不知道您的问题的详细信息,但您的脚本可能会以类似以下内容开始(如果您使用的是非 Microsoft 数据库,则需要进行一些更改):

$connStringBuilder = new-object System.Data.SqlClient.SqlConnectionStringBuilder
$connStringBuilder["Data Source"] = "SOME_SERVER"
$connStringBuilder["Initial Catalog"] = "YourDatabase"
$connStringBuilder["User ID"] = "user"
$connStringBuilder["Password"] = "password"

$conn = new-object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = $connStringBuilder.ConnectionString

$comm = new-object System.Data.SqlClient.SqlCommand
$comm.CommandText = "INSERT INTO FOOBAR VALUES... "
$comm.CommandType = $CommandType
$comm.Connection = $conn
$rowsAffectedCount = $comm.ExecuteNonQuery() 

好吧 - 所以这不是一个完全现实的例子。您可能最终会编写几个函数,并且可能使用比简单的 INSERT 更简单的方法。无论如何 - 这应该可以让您入门。

假设您还可以创建存储过程可能是关于如何解决 INSERT 或 UPDATE 问题的一个很好的参考

有关详细信息 - 你可能想深入了解MSDN 上的文档

相关内容