Приложения IIS отображаются в appcmd, но не отображаются в древовидной структуре диспетчера IIS.

Приложения IIS отображаются в appcmd, но не отображаются в древовидной структуре диспетчера IIS.

У меня есть несколько веб-серверов под управлением Windows Server 2008 Std с IIS 7.

Я заметил странную вещь в конфигурации. Я вижу некоторые приложения и виртуальные каталоги в appcmd, которые не отображаются в древовидном представлении в диспетчере IIS. Обратите внимание, это не путаница, вызванная тем фактом, что приложения отображаются в списке vdir в appcmd!

Например, из списка appcmd 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)

Если я выберу сайт "BaseMetals" в IIS Manager и нажму "Просмотр приложений", я увижу эти приложения в списке. Они также появятся, если я выберу соответствующий пул приложений и нажму "Просмотр приложений" там. Однако они определенно не появятся в дереве слева.

Почему эти приложения не отображаются? Что-то сломалось в их конфигурации? Как я могу использовать appcmd или powershell для извлечения списка сломанных записей application/vdir, чтобы очистить их?

решение1

В дополнение к комментарию выше, вот инструмент для сканирования на предмет этой проблемы. Не самый элегантный кусок кода, но, возможно, кому-то полезный.

https://bitbucket.org/fastmarkets/iis_lint

Связанный контент