Използвал съм този скрипт без проблем на x64 машини. Проблемът с извикването на x86 е, че скриптът търси ключове в системния регистър, които на x64 екземпляр са достъпни само от x64 PowerShell. За извикването на x64 можете да опитате да регистрирате модулите, тъй като това е съобщението за грешка, което получавате. Стартирайте като администратор...
Променете това:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
към това:
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
Още по-добро решение е да не използвате add-pssnapin вместо това да превърнете sqlps в модул. Имам публикация в блог тук:http://sev17.com/2010 /07/10/създаване-на-sqlps-модул
Актуализация за SQL Server 2012 - сега доставя sqlps модул, който можете да инсталирате вместо горния блог:http://www.microsoft.com/en-us/download/details.aspx?id=35580