1

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 でも同じ結果が得られました (両方とも管理者として実行)。

4

2 に答える 2

0

上記のディレクトリでget-childitemを実行すると、そこに「InetMgr.exe」がリストされるため、ファイルInetMgr.exeは明らかに存在しないと思います。

これは、作成した Get-ChildItem またはエイリアスの問題ではなく、IIS サーバーの問題である可能性があります。

于 2013-07-09T02:44:13.857 に答える
0

昇格した PowerShell プロンプトにいますか? -ForceGet-ChildItem でパラメーターを使用しないと、一部のシステム ファイルが表示されない場合があります。

于 2013-06-20T03:13:43.803 に答える