如何更改用户权限以通过 ssms 中的 powershell 连接到数据库引擎?
How do change a users permission to connect to database engine through powershell in ssms?
我目前正在编写一个脚本来自动添加用户。到目前为止,我可以使用 sqlserver 模块 Add-SqlLogin cmdlet 添加新的 SQL 登录。我可以使用我找到的另一个脚本为用户添加数据库映射。
剩下的就是实际允许用户连接到数据库(见图)。我还没有找到通过 powershell 做到这一点的方法。谁能指出我的解决方案?
The option I wish to set through powershell
经过一个小时的谷歌搜索,我找到了解决方案:
$ServerInstance = "server"
$name = "user"
$action = "Grant"
$permission = "ConnectSql"
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $ServerInstance
$perm = New-Object Microsoft.SqlServer.Management.Smo.ServerPermissionSet
$perm.$($permission.ToString()) = $true
switch ($action)
{
'Grant' { $server.Grant($perm,$name) }
'Deny' { $server.Deny($perm,$name) }
'Revoke' { $server.Revoke($perm,$name) }
}
How to use Powershell to modify SQL login permission? 正如乍得米勒的回答。
我目前正在编写一个脚本来自动添加用户。到目前为止,我可以使用 sqlserver 模块 Add-SqlLogin cmdlet 添加新的 SQL 登录。我可以使用我找到的另一个脚本为用户添加数据库映射。 剩下的就是实际允许用户连接到数据库(见图)。我还没有找到通过 powershell 做到这一点的方法。谁能指出我的解决方案? The option I wish to set through powershell
经过一个小时的谷歌搜索,我找到了解决方案:
$ServerInstance = "server"
$name = "user"
$action = "Grant"
$permission = "ConnectSql"
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $ServerInstance
$perm = New-Object Microsoft.SqlServer.Management.Smo.ServerPermissionSet
$perm.$($permission.ToString()) = $true
switch ($action)
{
'Grant' { $server.Grant($perm,$name) }
'Deny' { $server.Deny($perm,$name) }
'Revoke' { $server.Revoke($perm,$name) }
}
How to use Powershell to modify SQL login permission? 正如乍得米勒的回答。