【问题标题】:netsh mbn show interfaces results in command not found on Win7 64Bitnetsh mbn show interfaces 导致在 Win7 64Bit 上找不到命令
【发布时间】:2016-02-10 15:00:17
【问题描述】:

我试图在 Windows 7 64 位系统上从 .bat 或 .jar 文件运行“netsh mbn show interfaces”,但每次运行我的文件时,都会导致“找不到以下命令 mbn show interfaces ”。

当我在 cmd.exe 提示符下运行相同的命令时,结果正确且符合预期。 当我们运行 /?我们在可用命令中看到“mbn”。当我们从 .bat 或 .jar 输出相同的结果时,我们在 netsh 的可用命令中看不到“mbn”命令。

有人知道发生了什么吗? 我们知道有2个netsh.exe文件,一个在sys32,一个在syswow64。

感谢所有帮助。

【问题讨论】:

    标签: networking windows-7 32bit-64bit netsh


    【解决方案1】:

    我们解决了问题:

    当运行命令“netsh mbn show interface”时,cmd 作为 64 位操作运行。 从应用程序(即 32 位)运行命令时,cmd 作为 32 位操作运行。而且 mbn-context 在 32 位中不可用。

    在windows 64bit 操作系统中,存在一个幕后功能:文件系统重定向。 含义:64位进程将调用等效的32位进程。

    解决方法是使用 csharp 脚本或其他可以覆盖文件系统重定向的东西:

    IntPtr ptr = IntPtr.Zero;
    Wow64DisableWow64FsRedirection(ref ptr);
    // -- your proces information here --
    Wow64RevertWow64FsRedirection(ptr);
    //always revert the operation.
    

    这就解决了!

    【讨论】:

    • 感谢这有很大帮助!只需将 PHP 更新为 v64bit,netsh 即可与 mbn 一起使用
    猜你喜欢
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 2020-07-03
    相关资源
    最近更新 更多