我试图找到一些示例代码,显示如何使用WMI(使用C#)查询远程IIS 7的所有网站绑定。 我不能让所有的类/名称空间和查询需要做的头或尾做到这一点。 如果没有示例代码可用,我会喜欢一些关于良好文档的参考。WMI - IIS 7 - 检索所有网站绑定
非常感谢
我试图找到一些示例代码,显示如何使用WMI(使用C#)查询远程IIS 7的所有网站绑定。 我不能让所有的类/名称空间和查询需要做的头或尾做到这一点。 如果没有示例代码可用,我会喜欢一些关于良好文档的参考。WMI - IIS 7 - 检索所有网站绑定
非常感谢
您需要使用ServerManager.OpenRemote("serverName")
功能来连接到外部IIS实例。 (请参阅MSDN文章here)
如果枚举通过serverManager.Sites
集合,然后你可以检索每个Site
对象site.Bindings
属性一看就知道是网站上活动的绑定。
您应该能够通过访问IIS元数据库,使用的System.DirectoryServices装配做到这一点。
例如,在这里您可以列举这些网站中包含的所有网站和属性配置。
此引用添加到您的项目:
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);
}
}
需要注意的是,只有在服务器上安装了IIS6元数据库兼容性时,才能使用它。你也应该总是.Dispose()你的COM对象:) – 2011-02-07 16:20:09