''*******************************************************
'' 建立一個WebServer
'' 必須參數:WRoot,為建立網站的物理目錄;WComment為網站說明;WPort為網站連接埠;ServerRun為是否自動運行
'' 當建立成功時返回1,失敗時提示退出並返回0,當建立網站成功但啟動失敗時返回2
''*******************************************************
''****************注意:WPort為List類型,意為伺服器連接埠*************
'' 本函數在IIS5.0上通過,**必須以管理員身份登入**
'' 連接埠舉例:
'' Dim WPort,bindlists,createflag,oComputer
'' oComputer="LocalHost"
'' binglists=Array(0)
'' binglists(0)=":80:"''連接埠號碼為80
'' WPort=binglists
'' createflag=CreateWebServer("D:/myweb","我的家園",WPort,False)''調用建站函數
'' If creatflag=0 Then
'' Response.Write "建立網站失敗!請確定是否有許可權"
'' ElseIf createflag=1 Then
'' Response.Write "建立網站成功!"
'' ElseIf createflag=2 Then
'' Response.Write "建立網站成功,但啟動網站失敗,可能連接埠衝突!"
'' End If
''********************************************************************************
''關於Ftp網站的建立我已發表在asp版,請有興趣的朋友自己去查看
Function CreateWebServer(WRoot,WComment,WPort,ServerRun)
On Error Resume Next
Dim ServiceObj,ServerObj,VDirObj
Set ServiceObj = GetObject("IIS://"&oComputer&"/W3SVC")'' 首先建立一個服務執行個體
WNumber=1
Do While IsObject(ServiceObj.GetObject("IIsWebServer",WNumber))
If Err.number<>0 Then
Err.Clear()
Exit Do
End If
WNumber=WNumber+1
Loop
Set ServerObj = ServiceObj.Create("IIsWebServer", WNumber)'' 然後建立一個WEB伺服器
If (Err.Number <> 0) Then'' 是否出錯
''Response.Write "錯誤: 建立Web伺服器的ADSI操作失敗!"
CreateWebServer=0
Exit Function
End If
'' 接著設定管理員
ServerObj.ServerSize = 1 '' 中型大小
ServerObj.ServerComment = WComment ''說明
ServerObj.ServerBindings = WPort ''連接埠
ServerObj.EnableDefaultDoc=True
'' 提交資訊
ServerObj.SetInfo
'' 最後,建立虛擬目錄
Set VDirObj = ServerObj.Create("IIsWebVirtualDir", "ROOT")
If (Err.Number <> 0) Then'' 是否出錯
''Response.Write "錯誤: 建立虛擬目錄的ADSI操作失敗!"
CreateWebServer=0
Exit Function
End If
'' 配置虛擬目錄
VDirObj.Path = WRoot
VDirObj.AccessRead = True
VDirObj.AccessWrite = True
VDirObj.EnableDirBrowsing = False
VDirObj.EnableDefaultDoc=True
VDirObj.Accessscript=True
VDirObj.AppCreate2 2
VDirObj.AppFriendlyName="預設應用程式"
VDirObj.SetInfo
If ServerRun = True Then
ServerObj.Start
If (Err.Number <> 0) Then '' Error!
''Response.Write "錯誤: 起動伺服器時出錯!請手動啟動WebServer "&WComment&"!<br>"
CreateWebServer=2
Exit Function
End If
End If
Set VDirObj=Nothing
Set ServerObj=Nothing
Set ServiceObj=Nothing
CreateWebServer=1
End Function