Mi piacerebbe avere a disposizione le estensioni PowerShell di SQL Server ogni volta che avvii PowerShell caricando gli snap-in nel mio script profile.ps1. Ho trovato un articolo here con un esempio di script che mostra come fare questo, e questo funziona bene sul mio box Windows XP a 32-bit.Problemi relativi alle estensioni di PowerShell per SQL Server 2008 R2 al di fuori di SQLPS
Sfortunatamente, sul mio computer Windows 7 a 64 bit, questo esplode. Se provo a lanciare questo script con l'PowerShell a 64 bit, ottengo:
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
Se corro questo, invece in un 32 bit di PowerShell, ottengo:
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
mi piacerebbe essere in grado di eseguire questo in un PowerShell a 64 bit, se possibile. A tal fine, ho rintracciato quello che pensavo fosse il DLL di estensione PowerShell e in un amministratore a 64 bit: nell'alzare PowerShell mi sono imbattuto:
cd "C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn"
installutil Microsoft.SqlServer.Management.PSProvider.dll
installutil Microsoft.SqlServer.Management.PSSnapins.dll
Nessun dadi. Sebbene installutil sia sembrato indicare il successo, ottengo ancora il messaggio di errore "Nessun snap-in registrato per Windows PowerShell versione 2" quando eseguo lo script.
Qualcuno ha qualche suggerimento su dove vado da qui?
Poiché non volevo utilizzare un PowerShell con privilegi di amministrazione ogni volta che aggiungevo gli snap-in, ho usato il metodo del modulo SQLPS dal tuo blog e funziona come un incantesimo! Grazie! – Irinotecan
Nessun problema. Anch'io preferisco il metodo del modulo, ma tieni presente che la registrazione per un nuovo snap-in deve essere eseguita una sola volta come amministratore. Dopodiché puoi semplicemente eseguire add-pssnapin. –
Lo stesso problema con lo snap-in di SharePoint PS. La soluzione funziona anche nel mio caso (basta eseguire il lcate della DLL nel GAC: 'C: \ Windows \ assembly \ GAC_MSIL \ Microsoft.SharePoint.PowerShell \ 14.0.0.0__71e9bce111e9429c \ Microsoft.SharePoint.PowerShell.dll'). Grazie –