2013-03-07 5 views
0

Le script que j'ai créé utilise des composants qui ne sont disponibles qu'avec la version 32 bits de PowerShell. Par défaut, windows exécute le script avec powershell x64 et provoque plusieurs erreurs. Par défaut, windows exécute le script avec powershell x64.Powershell: Script à exécuter avec x86 powershell/ise

Est-ce une façon de définir une valeur au début d'un script pour forcer Windows à utiliser powershellx86 au lieu de x64?

Exemple:

using powershell(x86).exe 

scriptblock 

Merci

+0

lire ici: http://www.ehow.com/how_12171385_run-only-x86-powershell.html –

Répondre

2

Impossible que vous venez de démarrer le "Powershell (x86) .exe" fichier?

% SystemRoot% \ SysWOW64 \ WindowsPowerShell \ v1.0 \ powershell.exe

/Fredrik

1

Il n'y a pas moyen simple de le faire, mais il y a un moyen d'invoquer une autre instance de l'hôte Powershell dans l'hôte x64, et cette instance peut également être x86. $ env: PROCESSOR_ARCHITECTURE vous indique la version de l'hôte Powershell que vous utilisez.

Juste un croquis, utilisez un ciseau et du papier de verre pour terminer.

function Execute-Scriptx86 
{ 
    param(
    [Parameter(Mandatory=$True,Position=1)] 
    [string]$ScriptFile 
    ) 

    if($env:PROCESSOR_ARCHITECTURE -eq "AMD64") 
    { 
     $powershellx86 = $env:SystemRoot + "\syswow64\WindowsPowerShell\v1.0\powershell.exe" 
     & $powershellx86 -File $ScriptFile 
    } 
    else 
    { 
     & $ScriptFile 
    } 
} 
Questions connexes