一.平台:Windows XP SP3+ IIS 5.1 + Visual Studio 2005 .NET框架下,System.DirectoryServices命名空间中的DirectoryEntry提供了活动目录组件管理功能,它调用ADSI操作IIS。 二.DirectoryEntry.Properties遍历IIS Web虚拟目录和Ftp虚拟目录属性 using System; using System.Collections.Generic; using System.Text; using System.DirectoryServices; namespace IISVirDirProperties { class Program { static void Main(string[] args) { try { Console.WriteLine("请输入欲查询的虚拟目录类型:"); Console.WriteLine("0代表IIS Web虚拟目录"); Console.WriteLine("1代表IIS FTP虚拟目录"); string SVCType, VirDirType; string strVirDirType = Console.ReadLine(); if(strVirDirType == "0") { SVCType = "W3SVC"; VirDirType = "IIsWebVirtualDir"; } else if(strVirDirType == "1") { SVCType = "MSFTPSVC"; VirDirType = "IIsFtpVirtualDir"; } else { Console.WriteLine("输入有误,只能输入0或1!"); Console.ReadKey(); return; } string RootPath = "IIS://localhost/" + SVCType + "/1/ROOT"; DirectoryEntry RootDE = new DirectoryEntry(RootPath); DirectoryEntry DE = null; Console.WriteLine("请输入欲查询的虚拟目录名称:"); string strVirDir = Console.ReadLine(); if(string.IsNullOrEmpty(strVirDir)) // 为空,查询默认站点 { DE = RootDE; Console.WriteLine("默认站点的属性如下:\n"); } else // 非空,查询具体站点 { string WebSitePath = RootPath + "/" + strVirDir; if(DirectoryEntry.Exists(WebSitePath)) { DE = RootDE.Children.Find(strVirDir, VirDirType); Console.WriteLine("默认站点|{0}属性如下:\n",strVirDir); } else { Console.WriteLine("你所查询的虚拟目录不存在!"); Console.ReadKey(); return; } } foreach (string elmentName in DE.Properties.PropertyNames) { PropertyValueCollection valueCollection = DE.Properties[elmentName]; for (int i = 0; i < valueCollection.Count; i++) { Console.WriteLine(elmentName + "[" + i.ToString() + "] =" + valueCollection[i].ToString()); } } } catch(Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); } } } 在IIS6.0中,可右击网站(FTP站点)à默认网站(默认FTP站点)àtestà所有任务à将配置保存到一个XML文件,打开XML文件可以看到 <configuration> +<MBProperty></configuration> 其中MBProperty即MetaBase详细属性信息。 下一篇《DirectoryEntry.Properties遍历IIS属性(2)》

评论