Jeg har brugt dette script uden problemer på x64-maskiner. Problemet med x86-invokationen er, at scriptet leder efter registreringsdatabasenøgler, som på en x64-instans kun er tilgængelige fra x64 PowerShell. Til x64-invokationen kan du prøve at registrere snapins, da det er den fejlmeddelelse, du modtager. Kør som administrator...
Skift dette:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
til dette:
cd $sqlpsPath
$framework=$([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory())
Set-Alias installutil "$($framework)installutil.exe"
installutil Microsoft.SqlServer.Management.PSSnapins.dll
installutil Microsoft.SqlServer.Management.PSProvider.dll
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
En endnu bedre løsning er ikke at bruge add-pssnapin i stedet for at gøre sqlps til et modul. Jeg har blogindlæg her:http://sev17.com/2010 /07/10/making-a-sqlps-module
Opdatering til SQL Server 2012 - sender nu et sqlps-modul, du kan installere i stedet for ovenstående blog:http://www.microsoft.com/en-us/download/details.aspx?id=35580