Я хотел бы иметь расширения SQL Server PowerShell, доступные мне, всякий раз, когда я запускаю PowerShell, загружая оснастки в свой профиль .ps1 script. Я нашел статью здесь с примером script, который показывает, как это сделать, и это отлично работает на моем 32-разрядном окне Windows XP.
К сожалению, на моей 64-битной машине Windows 7 это взрывается. Если я попытаюсь запустить этот script с 64-битным PowerShell, я получаю:
Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 2.
At C:\Users\xxxx\Documents\WindowsPowerShell\profile.ps1:84 char:13
+ Add-PSSnapin <<<< SqlServerCmdletSnapin100
+ CategoryInfo : InvalidArgument: (SqlServerCmdletSnapin100:String
[Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
Если я запустил это вместо 32-битного PowerShell, я получаю:
Get-ItemProperty : Cannot find path 'HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds \Microsoft.SqlServer.Management.PowerShell.sqlps' because it does not exist.
At C:\Users\xxxx\Documents\WindowsPowerShell\profile.ps1:39 char:29
+ $item = Get-ItemProperty <<<< $sqlpsreg
+ CategoryInfo : ObjectNotFound: (HKLM:\SOFTWARE\...owerShell.sqlps:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
Я хотел бы иметь возможность запускать это в 64-битном PowerShell, если это возможно. С этой целью я обнаружил, что я думал, что DLL с расширением Powershell и в 64-разрядной версии Administrator с повышенным PowerShell, который я запускал:
cd "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn"
installutil Microsoft.SqlServer.Management.PSProvider.dll
installutil Microsoft.SqlServer.Management.PSSnapins.dll
Нет кубиков. Хотя installutil показала успех, я все равно получаю сообщение об ошибке "No snap-ins были зарегистрированы для Windows PowerShell версии 2" при запуске script.
У кого-нибудь есть предложения относительно того, куда я иду отсюда?