通过SSMS中的Powershell创建注册的服务器

时间:2018-12-03 22:35:21

标签: ssms ssms-2017

一个对我有用的很酷的技巧是通过PowerShell在SQL Server Management Studio中创建注册服务器组和注册。但是,现在我正在运行当前版本(SSMS 17.9.1),我发现该功能已丢失。我不确定它什么时候破裂。

安装SQLServer模块后:

Install-Module -Name SqlServer

可以通过在“已注册服务器”窗口中的服务器组上单击鼠标右键,然后单击“启动Powershell”来打开PowerShell提示符。在过去,我已经能够使用以下命令创建新的组和注册:

Set-Location "sqlserver:\SQLRegistration\Database Engine Server Group"
# group
New-Item -Path "sqlserver:\SQLRegistration\Database Engine Server Group\AllServers"
# registration
New-Item -Name $(encode-sqlname 'sqlsrv') -path "sqlserver:\SQLRegistration\Database Engine Server Group\AllServers" -ItemType Registration -Value ("Server=sqlsrv ; integrated security=true");

这些命令仍然可以正常运行。但是,刷新(甚至重新启动)之后,新的服务器注册不会在注册服务器窗口中显示。

并且,在PowerShell提示符下,不会在Get-Item / Get-ChildItem中显示在Registered Servers窗口中设置的服务器组和注册。

此功能在当前版本中是否仍适用于其他任何人?

我猜想在将SQLPS powershell模块替换为SQLServer模块时发生了一些变化,但这只是一个猜测。如果是这样,我希望只是进行一些调整,就需要在新工具集下使用这些命令。

1 个答案:

答案 0 :(得分:0)

这是SQLServer PowerShell模块的21.1.18068版本中的一个明显错误。卸载该版本并安装21.0.17279可解决此问题。

uninstall-module SQLServer
install-module -RequiredVersion 21.0.17224 -Name SQLServer