Jag har använt det här skriptet utan problem på x64-maskiner. Problemet med x86-anropet är att skriptet letar efter registernycklar som på en x64-instans endast är tillgängliga från x64 PowerShell. För x64-anropet kan du försöka registrera snapin-modulerna eftersom det är felmeddelandet du får. Kör som administratör...
Ändra detta:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
till detta:
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 ännu bättre lösning är att inte använda add-pssnapin istället för att göra sqlps till en modul. Jag har ett blogginlägg här:http://sev17.com/2010 /07/10/making-a-sqlps-module
Uppdatering för SQL Server 2012 - levererar nu en sqlps-modul som du kan installera istället för bloggen ovan:http://www.microsoft.com/en-us/download/details.aspx?id=35580