Ik heb dit script zonder problemen op x64-machines gebruikt. Het probleem met de x86-aanroep is dat het script zoekt naar registersleutels die op een x64-instantie alleen toegankelijk zijn vanuit x64 PowerShell. Voor de x64-aanroep kunt u proberen de snapins te registreren, aangezien dat de foutmelding is die u ontvangt. Uitvoeren als beheerder...
Wijzig dit:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
naar dit:
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
Een nog betere oplossing is om geen add-pssnapin te gebruiken, maar om sqlps in een module te veranderen. Ik heb hier een blogpost:http://sev17.com/2010 /07/10/een-sqlps-module maken
Update voor SQL Server 2012 - levert nu een sqlps-module die u kunt installeren in plaats van de bovenstaande blog:http://www.microsoft.com/en-us/download/details.aspx?id=35580