conn.asp不再贴出。
这里从数据库中读出目录名
1
2'response.end '//这是做调试时用的
3on error resume next
4Set Rs=Server.CreateObject("ADODB.Recordset")
5Rs.ActiveConnection = MyConnection
6Sql="select * from 你的表名 where 你指定的条件"
7Rs.Open Sql,,1,2
8If Rs.Eof Then Response.End '//如果无符合条件记录,则停止
9Rs.MoveFirst
10dim namestr '//定义虚拟目录名变量
11Do while not rs.eof
12if instr(1,namestr,server.htmlencode(Trim(Rs("SUname"))))<>0 Then Rs.MoveNext
13name=name&server.htmlencode(Trim(Rs("SUname")))
1
2sComputer ="localhost"
3sPhyDir = "X:\test\" & server.htmlencode(Trim(Rs("SUname"))) '//这里定义虚拟目录指向的物理路径
4sVirDir = server.htmlencode(Trim(Rs("Suname"))) '//这里定义虚拟目录名
5set websvc = GetObject("IIS://" & sComputer & "/W3svc/1") '//获得你当前站点对象。若有多个站点,那么改动后面1为2,3...即可指向其它的
6set vRoot = websvc.GetObject("IIsWebVirtualDir", "Root") '//获得当前站点虚拟ROOT
7Set ClassDefinition = GetObject(vRoot.Schema) '//获得虚拟目录的类定义
8asMustHaves = ClassDefinition.MandatoryProperties
9asMayHaves = ClassDefinition.OptionalProperties
10i=1
1<table border="1">
2<tr><th>Class Must Have Property</th>
3<th>Root Virtual Directory Current value</th></tr>
on error resume next
For Each Thing in asMustHaves
Response.Write "<tr><td>("& Cstr(i) & ") " &_
Thing & "</td><td>" & vRoot.Get(Thing) &_
"</td></tr>"
i = i + 1
Next
1</table>
1<table border="1">
2<tr><th>Class May Have Property</th>
3<th>当前站点</th></tr>
i=1
For Each Thing in asMayHaves
Response.Write "<tr><td>("& CStr(i) & ") " &_
Thing & "</td><td>" & vRoot.Get(Thing) &_
"</td></tr>"
i = i + 1
Next
on error goto 0
'//建立虚拟目录
Response.Write svirdir & "
"
Set vDir = vRoot.Create("IIsWebVirtualDir",sVirDir)
'//设置虚拟目录的两个属性,这里设置可读属性和将虚拟目录的路径指向物理路径
vDir.AccessRead = true
vDir.Path = sPhyDir
vDir.SetInfo '//将信息写入库,指的IIS站点相关的库,不是你的用户数据表
Rs.Movenext
Loop
Rs.Close
Response.Write "创建虚拟目录完成!"
1
2另外,还有利用adsi进行站点设置比如建站点,删除站点,配置站点IP,主机头,默认文档的等等,这里不做下载,有兴趣的朋友可以到微软站点下载 adsiSDK 的开发文档深入。</table>