Назад | Перейти на главную страницу

Проблемы с оснасткой SQL PowerShell

Я надеюсь, что это легкое решение и контроль с моей стороны. Мне нужно иметь возможность запускать командлеты SQL с удаленных машин. Я установил расширения Microsoft® Windows PowerShell для SQL Server® 2008 R2 (вместе с другими требованиями), однако, когда я пытаюсь добавить pssnapin, я получаю сообщение об ошибке, что оснастка не установлена ​​на этом компьютере.

Add-PSSnapin: оснастка Windows PowerShell «SqlServerCmdletSnapin100» не установлена ​​на этом компьютере.

Любая помощь?

Спасибо

Если вы установили 2012 PowerShellTools.msi, вам необходимо указать SqlServerCmdletSnapin.110 (вы указываете SqlServerCmdletSnapin100).

Кроме того, иногда возникает необходимость регистрировать библиотеки DLL даже после запуска установки Power ShellTools.msi. Взгляните на этот пост для подробностей:

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

Обратите внимание, что путь к installutil могут различаться в зависимости от того, какие версии .NET framework вы установили, а путь к DLL будет зависеть от того, какую версию инструментов вы установили. У меня установлен .NET 4 и 64-разрядные инструменты PowerShell 2012 года, так что вот что у меня сработало:

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"

Учитывая, что это такой старый пост, вы, вероятно, уже решили эту проблему или нашли обходной путь, но хотите предложить решение для всех, кто столкнется с проблемой в будущем.