2017-04-08 4 views

答えて

1

PowerShellの64ビットバージョンを起動するには、32ビットプロセスから

  • をパスを使用する:

    c:\windows\sysnative\WindowsPowerShell\v1.0\powershell.exe 
    
  • 64ビットプロセスから、パスを使用する:

    c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe 
    
間違えた場合

、打ち上げ:32ビットプロセスから

c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe 

、あなたはPowerShellの32ビットバージョンを取得します。あなたが誤って起動した場合と:

c:\windows\sysnative\WindowsPowerShell\v1.0\powershell.exe 

64ビットプロセスから64ビットプロセスからc:\windows\sysnative\パスがエラーであるため、エラーになります。

0

OSのアーキテクチャに対応した実行ファイルを起動するもう一つの簡単な方法:

# Get default executable path 
$exePath = Join-Path $PSHome powershell.exe 

# Test bitness 
if([System.Environment]::Is64BitOperatingSystem -xor [System.Environment]::Is64BitProcess){ 
    # 32-bit process on 64-bit OS 
    $exePath = $exePath -replace 'syswow64','sysnative' 
} 

# Launch new shell 
& $exePath 'arguments go here' 
+0

はそれが ' 'SYSTEM32' の代わりに '-replaceのsysnative'''、「sysnative' -replace 'SYSWOW64' すべきではありません'? – PetSerAl

+0

@PetSerAlはい、それを見つけていただきありがとうございます –

+0

これはお勧めしますが、質問はOSアーキテクチャに関連していませんでした。質問は64ビットOSにのみ適用されます。 64ビットOSでは、64ビットプロセスまたは32ビットプロセスを実行できます。このようなプロセスによって、PowerShellの64ビットバージョンがどのように起動するのかを確認します。それが問題です。 – zumalifeguard

関連する問題