如何在 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 连接到数据库引擎的权限?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SSMS 2008 的“编辑前 200 行”中更改 SQL

如何从 Visual Studio 获取 SSMS 中的当前用户 ID?

您如何通过和 SSMS 存储过程调用和 SSIS 包?

更改默认登录 SQL Server Management Studio (SSMS)

如何将 ID 分配给引用表以及如何正确显示? (SSMS)

无法将登录更改为 SQL SSMS [重复]