He usado este script sin problemas en máquinas x64. El problema con la invocación x86 es que la secuencia de comandos busca claves de registro que, en una instancia x64, solo son accesibles desde x64 PowerShell. Para la invocación x64, puede intentar registrar los complementos, ya que ese es el mensaje de error que está recibiendo. Ejecutar como administrador...
Cambia esto:
cd $sqlpsPath
Add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin SqlServerProviderSnapin100
a esto:
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
Una solución aún mejor es no usar add-pssnapin en lugar de convertir sqlps en un módulo. Tengo una publicación de blog aquí:http://sev17.com/2010 /07/10/hacer-un-modulo-sqlps
Actualización para SQL Server 2012:ahora incluye un módulo sqlps que puede instalar en lugar del blog anterior:http://www.microsoft.com/en-us/download/detalles.aspx?id=35580