Windows-Server-2008
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 列表 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 條目列表以清除它們?
除了上面的評論,這裡有一個工具來掃描這個問題。不是有史以來最優雅的程式碼,但可能對某人有用。