Windows-Server-2008

IIS 應用程序出現在 appcmd 中,但不在 IIS 管理器樹視圖中

  • January 17, 2014

我有一些執行帶有 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 列表 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”並點擊“查看應用程序”,我可以在列表中看到這些應用程序。如果我選擇相關的應用程序池並在那裡點擊“查看應用程序”,它們也會出現。但是,它們絕對不會出現在左側的樹中。

為什麼這些應用程序不顯示?他們的配置有問題嗎?如何使用 appcmd 或 powershell 提取損壞的應用程序/vdir 條目列表以清除它們?

除了上面的評論,這裡有一個工具來掃描這個問題。不是有史以來最優雅的程式碼,但可能對某人有用。

https://bitbucket.org/fastmarkets/iis_lint

引用自:https://serverfault.com/questions/567111