我需要能夠啓動64位版本的PowerShell.exe 我通過檢查[system.intptr] :: size的值爲8來驗證我是否在64位版本中。如何從32位或64位進程啓動64位PowerShell進程?
0
A
回答
1
要啓動的PowerShell的64位版本:
從一個32位的過程中,使用路徑:
c:\windows\sysnative\WindowsPowerShell\v1.0\powershell.exe
從一個64位的過程,使用路徑:
c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe
如果你犯了一個錯誤,並啓動:
c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe
從32位的過程中,你會得到的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'
相關問題
- 1. 如何從32位進程啓動64位進程
- 2. 啓動64位進程修改32位和64位.NET machine.config中
- 3. 64位OS/32位進程
- 4. 如何從32位代碼啓動64位Windows進程?
- 5. 從32位應用程序啓動64位進程?
- 6. 如何使用32位進程查找64位進程信息
- 7. 在.NET中,32位進程如何與64位進程通信?
- 8. 64位庫,應該與32位和64位進程工作
- 9. 調用32位或64位程序從啓動加載程序
- 10. GetModuleFileNameEx對32位進程從Windows 64位進程10
- 11. 在64位Windows上以32位進程啓動MSIL exe
- 12. 在64位操作系統上啓動32位進程
- 13. 如何從32位cmd.exe啓動64位PowerShell?
- 14. 如何從64位進程使用32位COM對象?
- 15. 如何從32位進程讀取64位註冊表項?
- 16. 32位進程無法訪問64位進程中的模塊
- 17. 從32位應用程序啓動64位應用程序?
- 18. MySQL 32位或64位 - Apache 32位Windows 64位?
- 19. 如何在32位進程中引用64位變量?
- 20. SharePoint 64位或32位
- 21. 從32位訪問64位ODBC過程
- 22. 從64位進程調用32位代碼
- 23. 從64位進程上的32位的一個
- 24. 從32位進程調用64位DLL上的LoadLibrary
- 25. 如何在沒有硬編碼路徑的情況下從64位java進程啓動32位java進程
- 26. Ubuntu 64或32位?
- 27. 64位應用程序開始32位進程
- 28. 64位應用程序與32位進程通信
- 29. 如何以編程方式在32位或64位環境中啓動程序?
- 30. 從32位進程掛鉤64位進程時,SetWindowsHookEx()不會返回錯誤?
難道不應該是'-replace 'SysWOW64中', 'sysnative'',而不是'-replace 'SYSTEM32',' sysnative」 '? – PetSerAl
@PetSerAl是的,它應該,感謝您發現它 –
這是很好知道,但問題是沒有關係到操作系統架構。該問題僅適用於64位操作系統。在64位操作系統中,您可以運行64位進程或32位進程。這樣的過程如何確保他們啓動64位版本的PowerShell。這就是問題所在。 – zumalifeguard