我試圖找到一些示例代碼,顯示如何使用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