我正在面对Windows 7(x64)上的IISpipe理器的一个奇怪的问题。
在家里,我有Win7专业版,当我检查我的IISpipe理器图标在开始菜单,我看到它的链接
%windir%\system32\inetsrv\InetMgr.exe
当我从命令行启动时,它就像一个魅力。
但是,在工作中,我有Windows 7 Enterprise(x64),当我在开始菜单中检查我的链接时,条目完全相同。 如果我点击它 – 它就像一个魅力。
现在,如果我想从命令行(cmd.exe或TakeCommand)启动它,文件就不存在了 – a
DIR %windir%\system32\inetsrv\*.exe
显示了一些文件,包括一个“inetmgr6.exe” – 但没有“inetmgr.exe” – 当然,我不能启动它:-(
奇怪的是,当我在Windows资源pipe理器或Windows Powershell中查看目录%windir%\system32\INetSrv时,我看到了INetMgr.exe文件,我可以启动它 – 没问题。
****在这里发生了什么? 如何从我的经典命令行findINetMgr.exe并从那里启动?
更新:好的,一些更新。 在我的工作笔记本电脑上, INetMgr.exe文件看起来确实位于一个名为c:\windows\syswow64\inetsrv (我从内存中回想起来,所以不要在目录名称中引用我 – 就像那样) 。 我可以看到这个如果我在例如Powershell或Windows 7资源pipe理器中search它。
然而,从一个“经典”的命令行像cmd.exe,它似乎是在c:\windows\system32\inetsrv …..嗯….麻烦的是 – 即使我现在知道文件的位置,我无法从我的经典命令行访问该目录 – 即使我运行cmd.exe作为具有提升特权的pipe理员…….所以我知道文件在哪里,但仍然不能解决我的问题问题:-(
这是一个有趣的。 如果UAC正在与您对战,请尝试使用提升的权限启动您的命令提示符。 我唯一的猜测是%windir%在命令提示符的path中以某种方式设置不同。 尝试使用显式path导航到它。 另外,尝试在命令提示符下创build一个像test.txt这样的testing文件,并确保它显示在Windows资源pipe理器中,以确保两个应用程序之间的path不会与您混淆。
FWIW – 我在Windows 2008 R2“桌面”上看到了完全相同的问题。 我从来没有find一个修复或探索。
但是对我来说一个解决方法是将C:\ Windows \ System32 \ inetsrv \ InetMgr.exe复制到一个新文件夹(例如“E:\ Apps \ IIS \ InetMgr.exe”)。 现在我可以从这个位置的命令行执行它,UAC出现了,并且从那里开始工作正常。
我有一个类似的问题,我正在使用Windows 7 64位,我试图find使用像Chrome浏览器(使用上传窗口)或记事本++(文件 – >打开)程序的InetMgr.exe,但我没有看到该文件。
如果我试图find它使用Windows原始记事本我看到它。 使用CMD文件是可见的。 如果我复制并粘贴在相同的目录中的文件…其他程序不可见。 如果我重命名文件(test.txt)…该文件仍然不可见…
似乎该文件是可见的其他操作系统程序(资源pipe理器,记事本),但不是第三方软件(Chrome,notepad ++,winamp ecc)
在我使用过的所有search中。 search模式。 在所有searchw3wp.exe和InetMgr6.exe是可见的…但InetMgr.exe不是。
在目录C:\ Windows \ SysWOW64 \ inetsrv文件不存在。
这怎么可能?
UPDATE
答案是 :
如果你问一个32位的应用程序打开c:\ windows \ system32 \ task.xml,它将被redirect到c:\ windows \ syswow64 \ task.xml并且找不到文件,因为它不存在。 当它重命名为.txt时,它的工作原理是,它最终打开64位的记事本副本,正确地看到文件。