IIS 应用程序出现在 appcmd 中,但未出现在 IIS 管理器树视图中

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 list 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 条目列表以清除它们?

答案1

除了上面的评论之外,还有一个工具可以扫描此问题。虽然不是最优雅的代码,但可能对某些人有用。

https://bitbucket.org/fastmarkets/iis_lint

相关内容