IIS アプリケーションは appcmd に表示されますが、IIS マネージャーのツリー ビューには表示されません。

IIS アプリケーションは appcmd に表示されますが、IIS マネージャーのツリー ビューには表示されません。

IIS 7 を搭載した Windows Server 2008 Std を実行している Web サーバーがいくつかあります。

構成について奇妙な点に気付きました。appcmd には、IIS マネージャーのツリー ビューに表示されないアプリと仮想ディレクトリがいくつかあります。これは、appcmd の vdir リストにアプリケーションが表示されることによる混乱ではありません。

たとえば、appcmd list app から:-

APP "BaseMetals/_testing_/Cache" (applicationPool:MyDeskBMCache)
APP "BaseMetals/_testing_/CCache" (applicationPool:ContentCache)
APP "BaseMetals/_testing_/scoop" (applicationPool:ScoopPublic4)

そしてappcmd list vdirから:-

VDIR "BaseMetals/_testing_/Cache/" (physicalPath:D:\fm_websites\BM\MyDesk\Cache)
VDIR "BaseMetals/_testing_/CCache/" (physicalPath:D:\fm_websites\FMContentCache_MYDESK)
VDIR "BaseMetals/_testing_/scoop/" (physicalPath:D:\fm_websites\Scoop\Scoop Public)

IIS マネージャーでサイト「BaseMetals」を選択し、「アプリケーションの表示」をクリックすると、これらのアプリケーションがリストに表示されます。また、関連するアプリケーション プールを選択し、「アプリケーションの表示」をクリックしても表示されます。ただし、左側のツリーには表示されません。

これらのアプリケーションが表示されないのはなぜですか? 構成に何か問題がありますか? 壊れたアプリケーション/vdir エントリのリストを抽出して削除するには、appcmd または powershell をどのように使用すればよいですか?

答え1

上記のコメントに加えて、この問題をスキャンするためのツールがあります。 これまでで最もエレガントなコードではありませんが、誰かにとって役立つ可能性があります。

https://bitbucket.org/fastmarkets/iis_lint

関連情報