Приложения IIS отображаются в appcmd, но не отображаются в виде дерева диспетчера IIS
У меня есть несколько веб-серверов под управлением Windows Server 2008 Std с IIS 7.
Я заметил странную вещь в конфигурации. Я вижу некоторые приложения и виртуальные каталоги в appcmd, которые не отображаются в виде дерева в диспетчере IIS. Обратите внимание, что это не путаница, вызванная тем, что приложения отображаются в списке vdir в appcmd!
Например, из приложения appcmd list:-
APP "BaseMetals/_testing_/Cache" (applicationPool:MyDeskBMCache)
APP "BaseMetals/_testing_/CCache" (applicationPool:ContentCache)
APP "BaseMetals/_testing_/scoop" (applicationPool:ScoopPublic4)
И из списка appcmd Вдир:-
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)
Если я выберу сайт "BaseMetals" в IIS Manager и нажму "Просмотреть приложения", я смогу увидеть эти приложения в списке. Они также отображаются, если я выбираю соответствующий пул приложений и нажимаю там "Просмотр приложений". Тем не менее, они определенно не появляются в дереве на левой стороне.
Почему эти приложения не отображаются? Что-то не так в их конфигурации? Как я могу использовать appcmd или powershell для извлечения списка испорченных записей application/vdir для их очистки?
1 ответ
В дополнение к комментарию выше, вот инструмент для сканирования этой проблемы. Не самый элегантный кусок кода, но, возможно, кому-то полезный.