c# - 以编程方式检查 IIS6 兼容性角色是否在 IIS7 中启用/禁用

标签 c# iis-7 iis-6

如果在 IIS7 上启用/禁用 IIS6 兼容性角色,我如何使用 C# 检查?

最佳答案

可以查看注册表中的值

HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp\Components\WMICompatibility

或者,您可以将 servermanagercmd 的内容输出到一个 xml 文件并解析该文件以查找 iis6 兼容性组件

ServerManagerCmd -query [SaveFile.xml]

如果您在 R2 上执行此操作,servermanagercmd 现已弃用,因此您可能希望使用 powershell 来实现相同的检查。 这里有一些 powershell 示例,在本例中是远程完成的 http://www.techmumbojumblog.com/?p=217

上一个答案中的 WMI 方法可能也不错,尤其是在验证兼容性工具已安装后,如果您有更多配置任务要在 IIS 上执行。

顺便说一句,如果您确实找到了兼容性组件未处理的配置设置,这是我从 C# 中发现的,我在 iis6 中通过 wmi 配置的内容在网站级别和以下(网站,虚拟目录和池),但要配置 Web 服务器级别,我必须使用随 iis7 安装的 API,来自 System32\inetsrv 的 Microsoft.Web.Administration.dll。

using Microsoft.Web.Administration;

关于c# - 以编程方式检查 IIS6 兼容性角色是否在 IIS7 中启用/禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2551044/

相关文章:

c# - 具有 clsid 的组件的 COM 类工厂失败错误 80040154

.net - 确定 SSL 证书到期日期 IIS

c# - 损坏的查询字符串 : "80" being removed by IIS?

c# - 如何避免重复的 try catch block

c# - 如何翻译 "var a = collection?.First()?.somePropA ?? new A();"

asp.net - IIS 和静态内容?

iis-7 - Nginx 反向代理 SSL/缩小

c# - .NET 写入分隔文本文件

c# - 无法匹配 C# 中的时间

asp.net - HTTP 错误 404.4 - 未找到您正在查找的资源没有与其关联的处理程序