我试图找到一些示例代码,展示如何使用WMI(使用C#)查询远程IIS 7以获取所有网站绑定。 我无法使所有类/名称空间和查询的头部或尾部需要完成此操作。 如果没有可用的示例代码,我会喜欢对良好文档的一些参考。
非常感谢
答案 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
属性,以查看该网站上活动的绑定。