明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

用ADSI編程完成IIS中創(chuàng)建虛擬目錄

[摘要]conn.asp不再貼出。這里從數(shù)據(jù)庫中讀出目錄名<!--#include file="conn.asp"--><%'response.end ...

conn.asp不再貼出。
這里從數(shù)據(jù)庫中讀出目錄名


<!--#include file="conn.asp"-->
<%
'response.end  '//這是做調(diào)試時(shí)用的
on error resume next
Set Rs=Server.CreateObject("ADODB.Recordset")
Rs.ActiveConnection = MyConnection
Sql="select * from 你的表名 where 你指定的條件"
Rs.Open Sql,,1,2
If Rs.Eof Then Response.End '//如果無符合條件記錄,則停止
Rs.MoveFirst
dim namestr    '//定義虛擬目錄名變量
Do while not rs.eof
if instr(1,namestr,server.htmlencode(Trim(Rs("SUname"))))<>0 Then Rs.MoveNext
name=name&server.htmlencode(Trim(Rs("SUname")))
%>
<%
sComputer ="localhost"
sPhyDir = "X:\test\" & server.htmlencode(Trim(Rs("SUname")))   '//這里定義虛擬目錄指向的物理路徑
sVirDir = server.htmlencode(Trim(Rs("Suname"))) '//這里定義虛擬目錄名
set websvc = GetObject("IIS://" & sComputer & "/W3svc/1") '//獲得你當(dāng)前站點(diǎn)對象。若有多個(gè)站點(diǎn),那么改動(dòng)后面1為2,3...即可指向其它的
set vRoot = websvc.GetObject("IIsWebVirtualDir", "Root") '//獲得當(dāng)前站點(diǎn)虛擬ROOT
Set ClassDefinition = GetObject(vRoot.Schema)  '//獲得虛擬目錄的類定義
asMustHaves = ClassDefinition.MandatoryProperties
asMayHaves = ClassDefinition.OptionalProperties
i=1
%>
<table border=1>
<tr><th>Class Must Have Property</th>
<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
%>
</table>


<table border=1>
<tr><th>Class May Have Property</th>
<th>當(dāng)前站點(diǎn)</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)

'//設(shè)置虛擬目錄的兩個(gè)屬性,這里設(shè)置可讀屬性和將虛擬目錄的路徑指向物理路徑
vDir.AccessRead = true
vDir.Path = sPhyDir
vDir.SetInfo '//將信息寫入庫,指的IIS站點(diǎn)相關(guān)的庫,不是你的用戶數(shù)據(jù)表
%>

<%
Rs.Movenext
Loop
Rs.Close
Response.Write "創(chuàng)建虛擬目錄完成!"
%>

另外,還有利用adsi進(jìn)行站點(diǎn)設(shè)置比如建站點(diǎn),刪除站點(diǎn),配置站點(diǎn)IP,主機(jī)頭,默認(rèn)文檔的等等,這里不做下載,有興趣的朋友可以到微軟站點(diǎn)下載 adsiSDK 的開發(fā)文檔深入。