Назад | Перейти на главную страницу

Приложения 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: -

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 и нажму «Просмотр приложений», я увижу эти приложения в списке. Они также появляются, если я выбираю соответствующий пул приложений и нажимаю там «Просмотр приложений». Однако они определенно не отображаются в дереве с левой стороны.

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

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

https://bitbucket.org/fastmarkets/iis_lint