WMI - IIS 7 - 检索所有网站绑定

时间:2011-02-07 16:06:22

标签: c# iis-7 wmi

我试图找到一些示例代码,展示如何使用WMI(使用C#)查询远程IIS 7以获取所有网站绑定。 我无法使所有类/名称空间和查询的头部或尾部需要完成此操作。 如果没有可用的示例代码,我会喜欢对良好文档的一些参考。

非常感谢

2 个答案:

答案 0 :(得分:1)

您应该可以通过使用System.DirectoryServices程序集访问IIS元数据库来完成此任务。

例如,您可以在此处列举这些网站中包含的所有网站和属性配置。

将此引用添加到您的项目中:

using System.DirectoryServices

// Assuming your Server Id is 1, and you are connecting to your local IIS.
DirectoryEntry de = new DirectoryEntry(@"IIS://localhost/W3SVC/1/Root");
foreach (DirectoryEntry entry in de.Children)
{
   foreach (PropertyValueCollection property in entry.Properties)
   {
      Console.WriteLine("Name: {0}, Value {1}",property.PropertyName, property.Value);
   }
}

答案 1 :(得分:1)

您需要使用ServerManager.OpenRemote("serverName")函数连接到外部IIS实例。 (参见msdn文章here。)

如果您枚举serverManager.Sites集合,则可以从每个site.Bindings对象中检索Site属性,以查看该网站上活动的绑定。