usingSystem;usingSystem.DirectoryServices;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplication1
{classProgram
{static void Main(string[] args)
{
DirectoryEntry rootEntry= new DirectoryEntry("IIS://localhost/w3svc");int siteID = 1;foreach (DirectoryEntry entry inrootEntry.Children)
{if (entry.SchemaClassName.Equals("IIsWebServer", StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("Name: {0}", entry.Name);
Console.WriteLine("Path: {0}", IISWorker.GetWebsitePhysicalPath(entry));
Console.WriteLine("ServerBindings: {0}", entry.Properties["ServerBindings"].Value);
Console.WriteLine();
DirectoryEntry virEntry= new DirectoryEntry(entry.Path + "/ROOT");foreach (DirectoryEntry entryVirtual invirEntry.Children)
{if (entryVirtual.SchemaClassName.Equals("IIsWebVirtualDir", StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine("SchemaClassName: {0}", entryVirtual.SchemaClassName);
Console.WriteLine("Name: {0}", entryVirtual.Name);
Console.WriteLine("Path: {0}", entryVirtual.Properties["Path"].Value);
Console.WriteLine();
}
}int ID =Convert.ToInt32(entry.Name);if (ID >=siteID)
{
siteID= ID + 1;
}
}
}
}
}public classIISWorker
{///
///得到网站的物理路径///
/// 网站节点
///
public static stringGetWebsitePhysicalPath(DirectoryEntry rootEntry)
{string physicalPath = "";foreach (DirectoryEntry childEntry inrootEntry.Children)
{if ((childEntry.SchemaClassName == "IIsWebVirtualDir") && (childEntry.Name.ToLower() == "root"))
{if (childEntry.Properties["Path"].Value != null)
{
physicalPath= childEntry.Properties["Path"].Value.ToString();
}else{
physicalPath= "";
}
}
}returnphysicalPath;
}
}
}