1

私が作成したスクリプトは、32 ビット バージョンの powershell でのみ使用できるコンポーネントを使用しています。

デフォルトでは、Windows は PowerShell x64 でスクリプトを実行し、いくつかのエラーを引き起こします。

スクリプトの先頭に値を設定して、ウィンドウに x64 の代わりに powershellx86 を使用させる方法はありますか?

例:

using powershell(x86).exe

scriptblock

ありがとうございました

4

2 に答える 2

3

「powershell(x86).exe」ファイルを起動するだけではいけませんか?

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

/フレドリック

于 2013-03-07T12:10:35.047 に答える
1

これを行う簡単な方法はありませんが、x64 ホストで Powershell ホストの別のインスタンスを呼び出す方法があり、そのインスタンスは x86 の場合もあります。$env:PROCESSOR_ARCHITECTUREは、実行している Powershell ホストのバージョンを示します。

スケッチだけで、ノミとサンドペーパーを使用して仕上げます。

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
    }
}
于 2013-03-07T16:34:12.190 に答える