我打算写一个简单的别名'iis'来调用IIS管理器,即'C:\ Windows \ System32 \ inetsrv \ InetMgr.exe'
set-alias iis "OpenIIS.ps1"
在OpenIIS.ps1中我有
$item = "C:\Windows\system32\inetsrv\InetMgr.exe"
invoke-item -path $item
这不起作用。我得到的错误是“系统找不到指定的文件”
实际上,只是在inetsrv上执行Get-ChildItem就不会显示InetMgr.exe(与-Force开关没有区别)
Get-ChildItem C:\Windows\system32\inetsrv\*.exe -force
显然我可以在资源管理器中看到它,我可以使用cmd启动它,但似乎没有使用Powershell。此外,Powershell以管理员身份运行。
发生了什么事?
作为一种解决方法,我尝试创建一个指向该文件的链接,然后从Powershell调用该链接。我现在得到一个'NotSpecified'Win32Exception。
我最初使用64位Powershell,但在x86 Powershell上获得了相同的结果(都以管理员身份运行)
答案 0 :(得分:0)
您是否处于提升的PowerShell提示符下?除非您对Get-ChildItem使用-Force
参数,否则某些系统文件可能不会显示。
答案 1 :(得分:0)
我认为InetMgr.exe文件显然不存在,因为当我在提到的目录中执行get-childitem时,它会在那里列出“InetMgr.exe”。
这可能不是Get-ChildItem或您创建的别名的问题,而是您的IIS服务器的问题。