Ich habe dieses Skript ohne Probleme auf x64-Computern verwendet. Das Problem beim x86-Aufruf besteht darin, dass das Skript nach Registrierungsschlüsseln sucht, auf die auf einer x64-Instanz nur über x64 PowerShell zugegriffen werden kann. Für den x64-Aufruf könnten Sie versuchen, die Snapins zu registrieren, da dies die Fehlermeldung ist, die Sie erhalten. Als Administrator ausführen...
Ändern Sie dies:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
dazu:
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
Eine noch bessere Lösung besteht darin, nicht add-pssnapin zu verwenden, sondern sqlps in ein Modul umzuwandeln. Ich habe hier einen Blogbeitrag:http://sev17.com/2010 /07/10/ein-sqlps-modul-erstellen
Update für SQL Server 2012 – enthält jetzt ein sqlps-Modul, das Sie anstelle des obigen Blogs installieren können:http://www.microsoft.com/en-us/download/details.aspx?id=35580