SQL PowerShell 管理单元问题

SQL PowerShell 管理单元问题

我希望这只是我的一个疏忽,但很容易修复。我需要能够从远程计算机运行 SQL cmdlet。我已经安装了适用于 SQL Server® 2008 R2 的 Microsoft® Windows PowerShell Extensions(以及其他要求),但是当我尝试添加 pssnapin 时,我收到错误消息,提示此计算机上未安装该管理单元。

Add-PSSnapin:此计算机上未安装 Windows PowerShell 管理单元“SqlServerCmdletSnapin100”。

有什么帮助吗?

感谢

答案1

如果你安装了 2012 PowerShellTools.msi,那么你需要引用 SqlServerCmdletSnapin110(您正在指定 SqlServerCmdletSnapin100)。

此外,有时即使在运行 Power ShellTools.msi 安装后,您也必须注册 DLL。请查看此帖子了解详情:

https://markcz.wordpress.com/2009/12/19/how-to-register-powershell-sql-server-snapin-in-windows-preinstalled-powershell/

请注意,路径installutil可能会根据您安装的 .NET 框架版本而有所不同,而 DLL 的路径也会根据您安装的工具版本而有所不同。我安装了 .NET 4 和 2012 64 位 PowerShell 工具,因此以下方法对我有用:

set-alias installutil $env:windir\microsoft.net\Framework64\v4.0.30319\installutil

installutil -i "C:\Program Files\Microsoft SQL Server\110\Tools\PowerShell\Modules\SQLPS\Microsoft.SqlServer.Management.PSProvider.dll"

installutil -i "C:\Program Files\Microsoft SQL Server\110\Tools\PowerShell\Modules\SQLPS\Microsoft.SqlServer.Management.PSSnapins.dll"

鉴于这是一篇很老的帖子,您可能已经解决了这个问题或者找到了解决方法,但我想为将来遇到此问题的任何人提供解决方案。

相关内容