本文介绍了如何从32位cmd.exe启动64位powershell?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道这是一个奇怪的问题,但我被锁定到第三方供应商,在目标64位Windows Server 2008 R2群集服务器上启动32位cmd.exe。从这里我想要启动一个64位PowerShell窗口并运行一个脚本。

I know it's a weird question but I am locked into a third party vendor which launches a 32-bit cmd.exe on a target 64-bit Windows Server 2008 R2 clustered server. From here I want to launch a 64-bit PowerShell window and run a script.

这是我的测试:

powershell.exeGet-Module -ListAvailable | Where-Object {$ _。name -eq'FailoverClusters'}

如果我从一个32位cmd.exe运行这里,我得到什么返回。如果我从64位cmd.exe运行我得到:

If I run this from a 32-bit cmd.exe I get nothing returned. If I run from a 64-bit cmd.exe I get:

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   FailoverClusters          {}

对于从32位cmd shell调用64位PowerShell脚本,我可以做什么?

Any ideas on what I can do to invoke a 64-bit powershell script from a 32-bit cmd shell?

推荐答案

syswow64允许从64位代码运行32位系统可执行文件。
sysnative允许您从32位代码运行64位系统可执行文件。

syswow64 lets you run 32 bit system executables from 64 bit code.sysnative lets you run 64 bit system executables from 32 bit code.

因此,您需要运行:

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

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

这篇关于如何从32位cmd.exe启动64位powershell?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 11:47