我们使用ADSI来操作IIS的时候,需要提供他们的Path。比如默认本机80端口的默认站点的目录路径就是:IIS://localhost/w3svc/1/root

它的格式是:

IIS://ComputerName/Service/Website/Directory

ComputerName:即操作的服务器的名字,可以是名字也可以是IP,经常用的就是localhost

Service:即操作的服务器,IIS中有Web,也有FTP,还有SMTP这些服务,我们主要是操作IIS的Web功能,因此此处就是”W3SVC”,如果是FTP则应是”MSFTPSVC”

WebSite:一个IIS服务中可以包括很多的站点,这个就用于设置操作的站点。他的值是一个数字,默认是1,表示缺省站点,如果有其它,也是数字。

但需要注意的是,并不是自增。后面会有一个小程序获得这个值。

Directory:要操作的目录名称,一个站点一般顶层目录为”ROOT”,其它目录则是他的孩子(Child)。

以上资料摘自飞刀的文章,具体看:

http://aspcool.com/lanmu/browse1.asp?ID=914&bbsuser=csharp

http://aspcool.com/lanmu/browse1.asp?ID=915&bbsuser=csharp

由于上面的WebSite并不是简单的自增。我们要知道某台机子上所有站点对应的值,可以通过下面的小程序获得这个值:

using System.DirectoryServices;
……..

DirectoryEntry root = new DirectoryEntry(“IIS://localhost/W3SVC”);
foreach(DirectoryEntry dir in root.Children)
{
 if(dir.SchemaClassName == “IIsWebServer”)
 {
  string ww = dir.Properties["ServerComment"].Value.ToString();
  Response.Write (string.Format(“IIS://localhost/W3SVC/{0}/ROOT/&nbsp;&nbsp;{1}<br>”,dir.Name,ww));
 }
}

当然,你想获得更多的属性值,可以通过

dir.Properties[] 去获得。

为了说明这里的 WebSite 并不是自增的,下面看我在我本机执行上面程序的结果。

IIS://localhost/W3SVC/1/ROOT/  Default Web Site
IIS://localhost/W3SVC/1307630583/ROOT/  MyWeb81
IIS://localhost/W3SVC/1307630584/ROOT/  MyWeb82
IIS://localhost/W3SVC/1307630585/ROOT/  MyWeb83
IIS://localhost/W3SVC/1307630586/ROOT/  MyWeb84
IIS://localhost/W3SVC/1307630587/ROOT/  MyWeb85
IIS://localhost/W3SVC/1307630683/ROOT/  MyWeb90
IIS://localhost/W3SVC/1307630684/ROOT/  MyWeb91
IIS://localhost/W3SVC/1307630685/ROOT/  MyWeb92
IIS://localhost/W3SVC/1307630686/ROOT/  MyWeb93
IIS://localhost/W3SVC/1758797915/ROOT/  ghj1976.net
IIS://localhost/W3SVC/2/ROOT/  Microsoft SharePoint Administration
IIS://localhost/W3SVC/2546/ROOT/  94

各个的值都不一样。所以在使用这个路径的时候,不要想当然的以为是简单的自增。

VBS添加虚拟目录:http://w1.org.cn/web/programming/iishost.html