如何在 ssms 中更改用户通过 powershell 连接到数据库引擎的权限?

Posted

技术标签:

【中文标题】如何在 ssms 中更改用户通过 powershell 连接到数据库引擎的权限?【英文标题】:How do change a users permission to connect to database engine through powershell in ssms? 【发布时间】:2021-12-06 23:51:06 【问题描述】:

我目前正在编写一个脚本来自动添加用户。到目前为止,我可以使用 sqlserver 模块 Add-SqlLogin cmddlet 添加新的 SQL 登录。我可以使用我找到的另一个脚本为用户添加数据库映射。 剩下的就是实际允许用户连接到数据库(见图)。我还没有找到通过powershell做到这一点的方法。谁能指出我的解决方案? The option I wish to set through powershell

【问题讨论】:

【参考方案1】:

经过一个小时的谷歌搜索,我找到了解决方案:

$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? 由 Chad Miller 回答。

【讨论】:

以上是关于如何在 ssms 中更改用户通过 powershell 连接到数据库引擎的权限?的主要内容,如果未能解决你的问题,请参考以下文章