netsh mbn show interfaces导致在Win7 64Bit上找不到命令

时间:2012-03-30 13:23:31

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

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

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

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

感谢所有帮助。

1 个答案:

答案 0 :(得分:4)

我们解决了这个问题:

运行命令“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.

并解决了它!