将用户添加到SQL Server中的服务器角色

时间:2017-12-11 09:05:29

标签: sql-server powershell roles

我正在尝试使用PowerShell将用户添加到SQL Server角色。

我有一个脚本,它读取服务器,用户和角色信息并将其放在文本文件中。我能够连接到服务器并检查该服务器中的用户可用性,但是我无法将服务器角色添加到用户。请协助添加角色的正确脚本。我的脚本很长,无法将其放在这里。有没有办法将它作为文本文件附加?

2 个答案:

答案 0 :(得分:2)

Add-UserToRole函数接受四个参数Server,Database,User和Role,并进行一系列错误检查。

假设您有以下带有用户信息的文件

enter image description here enter image description here

并将它们与Add-SQLAccountToSQLRole和Add-UserToRole函数一起使用来创建用户。试试这个

enter image description here

Powershell结果如下

enter image description here

查看Here了解更多详情和完整代码

答案 1 :(得分:0)

我找到了一个非常简单的商家信息here

这使用Windows域用户,但没有理由它也不适用于SQL Server用户。无论如何,这里是:

$sqlSrv = New-Object 'Microsoft.SqlServer.Management.Smo.Server' "SQLServer\Instance"

$login = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Login -ArgumentList $sqlSrv, "DOMAIN\username"
$login.LoginType = "WindowsUser"

$login.AddToRole("MyServerRole")
$login.Alter()

如果您还需要在同一个脚本中创建登录信息(我不认为这是OP的情况),您只需在$login.Create()之前添加AddToRole _wcf = new ServiceRequestClient(new WSHttpBinding(SecurityMode.Message), new EndpointAddress(_wcfRequestServerAddress)); 来电。{/ p>