私が作成したスクリプトは、32 ビット バージョンの powershell でのみ使用できるコンポーネントを使用しています。
デフォルトでは、Windows は PowerShell x64 でスクリプトを実行し、いくつかのエラーを引き起こします。
スクリプトの先頭に値を設定して、ウィンドウに x64 の代わりに powershellx86 を使用させる方法はありますか?
例:
using powershell(x86).exe
scriptblock
ありがとうございました
私が作成したスクリプトは、32 ビット バージョンの powershell でのみ使用できるコンポーネントを使用しています。
デフォルトでは、Windows は PowerShell x64 でスクリプトを実行し、いくつかのエラーを引き起こします。
スクリプトの先頭に値を設定して、ウィンドウに x64 の代わりに powershellx86 を使用させる方法はありますか?
例:
using powershell(x86).exe
scriptblock
ありがとうございました
「powershell(x86).exe」ファイルを起動するだけではいけませんか?
%SystemRoot%\ syswow64 \ WindowsPowerShell \ v1.0 \ powershell.exe
/フレドリック
これを行う簡単な方法はありませんが、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
}
}