2011-02-07 32 views
3

我試圖找到一些示例代碼,顯示如何使用WMI(使用C#)查詢遠程IIS 7的所有網站綁定。 我不能讓所有的類/名稱空間和查詢需要做的頭或尾做到這一點。 如果沒有示例代碼可用,我會喜歡一些關於良好文檔的參考。WMI - IIS 7 - 檢索所有網站綁定

非常感謝

回答

1

您需要使用ServerManager.OpenRemote("serverName")功能來連接到外部IIS實例。 (請參閱MSDN文章here

如果枚舉通過serverManager.Sites集合,然後你可以檢索每個Site對象site.Bindings屬性一看就知道是網站上活動的綁定。

1

您應該能夠通過訪問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); 
    } 
} 
+2

需要注意的是,只有在服務器上安裝了IIS6元數據庫兼容性時,才能使用它。你也應該總是.Dispose()你的COM對象:) – 2011-02-07 16:20:09