IIS 服務(wù)器備份轉(zhuǎn)移實(shí)現(xiàn)方法
更新時(shí)間:2009年03月24日 17:55:51 作者:
最近上了一個(gè)項(xiàng)目,讓我不管通過(guò)任何的方法要把一臺(tái)IIS服務(wù)器的所有虛擬主機(jī)全部轉(zhuǎn)移到另外一臺(tái)機(jī),其實(shí)很早就因?yàn)镮IS服務(wù)器的問(wèn)題而傷腦筋,終于在我的努力下通過(guò)VBSCRIPT的腳本實(shí)現(xiàn)了這個(gè)目標(biāo),不敢獨(dú)想,和廣大網(wǎng)友共享。
原創(chuàng)文章:歡迎轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)保留作者名及出處
作者:jacksonluo
一:IIS的服務(wù)器前期配置(其他的安全就不提了) (以 freeshare.com.cn為例 )
1.創(chuàng)建該域的(freeshare.com.cn)計(jì)算機(jī)用戶(hù)名,并設(shè)置一個(gè)安全密碼
2.創(chuàng)建該域的目錄文件夾如(D:\Inetpub\freeshare.com.cn)
3.設(shè)置目錄訪問(wèn)權(quán)限,freeshare.com.cn對(duì)該目錄完全控制(提供匿名用戶(hù)訪問(wèn)該網(wǎng)站)
4.創(chuàng)建一個(gè)該域名的描述(公司名) 的單獨(dú)應(yīng)用進(jìn)程池,為每一個(gè)虛擬主機(jī)創(chuàng)建獨(dú)立的應(yīng)用程序進(jìn)程池,保個(gè)別網(wǎng)站的問(wèn)題不會(huì)影響整臺(tái)服務(wù)器的運(yùn)行。創(chuàng)建進(jìn)程池時(shí)可以單獨(dú)設(shè)定用戶(hù)名和密碼并設(shè)置CPU,連接數(shù)等。這里采用的是默認(rèn)的。
5.創(chuàng)建一個(gè)虛擬主機(jī),并選擇上面所創(chuàng)建的應(yīng)用進(jìn)程池,在目錄安全性中選擇匿名用戶(hù)freeshare.com.cn,并設(shè)置與計(jì)算機(jī)創(chuàng)建freeshare.com.cn用戶(hù)名的密碼一致,必須一致,否則無(wú)法訪問(wèn)該網(wǎng)站。
OK,這個(gè)就對(duì)每個(gè)虛擬主機(jī)要做的,那么這些是不是需要全部的人工的去完成呢?答案是否定的,WINDOWS下也可以實(shí)現(xiàn)腳本編程哦,(呵呵我原來(lái)也是不知道的)
那么即然可以不用去手工完成,用什么呢?用VBSCRIPT腳本吧。
二:用腳本完成上述創(chuàng)建虛擬主機(jī)的動(dòng)作
保存為createsiglewebsite.vbs
Dim SiteNum,IPAddr,PortNum,LenComputer,WebServerComment,LogDirectory
Dim user_password,GroupName,tmpFolder,UserNameComp,WebServerAutoStart
Dim WebAnonymousUserName
WebServerComment="公司名"'網(wǎng)站描述、計(jì)算機(jī)用戶(hù)描述及全名采用這個(gè)變量
UserNameComp="freeshare.com.cn"'計(jì)算機(jī)用戶(hù)名及用戶(hù)目錄采用這個(gè)變量
HostName = ":80:www.freeshare.com.cn"'虛擬主機(jī)站點(diǎn)主機(jī)名
WebAnonymousUserName = getComputer()&"\"&UserNameComp'虛擬主機(jī)匿名用戶(hù)(前面加了本地計(jì)算機(jī)名)
user_password = "**********"'計(jì)算機(jī)用戶(hù)和匿名用戶(hù)密碼。
GroupName = "Guests"'計(jì)算機(jī)用戶(hù)所在的組
IPAddr = ""'計(jì)算機(jī)IP地址,可以為空
tmpFolder = "D:\inetpub\"&UserNameComp'目標(biāo)目錄
LenComputer = Len(getComputer())+1'計(jì)算機(jī)名+'\'的長(zhǎng)度
PortNum = "80"'虛擬主機(jī)端口
WebServerAutoStart = "true"'創(chuàng)建虛擬主機(jī)后是否運(yùn)行true和false
LogDirectory = ""'日志目錄
'檢測(cè)是否存在該用戶(hù)的計(jì)算機(jī)帳號(hào)
If Not checkUser(UserNameComp) Then
'添加該計(jì)算機(jī)用戶(hù)帳號(hào)
AddUser getComputer(),UserNameComp,user_password,WebServerComment,WebServerComment,GroupName
Else
Wscript.echo "該計(jì)算機(jī)用戶(hù)名也存在.............."
End If
'創(chuàng)建用戶(hù)主目錄
CreateFileDirectory(tmpFolder)
'修改用戶(hù)主目錄的訪問(wèn)權(quán)限
SetNTFSDirectoryPerssion(UserNameComp)
'創(chuàng)建應(yīng)用進(jìn)程池
createAppPool WebServerComment
'創(chuàng)建虛擬主機(jī)站點(diǎn)
CreateWebSite getComputer(),IPAddr,HostName,tmpFolder,LogDirectory,WebServerComment,UserNameComp,user_password,WebServerAutoStart
'BuildNum = BuildNum+1
'Wscript.echo "=============================================="&BuildNum&"============================================="
'為每個(gè)IIS虛擬主機(jī)應(yīng)用程序站點(diǎn)創(chuàng)建站點(diǎn)應(yīng)用程序池
Function createAppPool(strName)
On Error Resume Next
Err.Clear
Set ObjAppPoolsExist = GetObject("IIS://"&getComputer()&"/W3SVC/AppPools"&strName)
If Err.number = 0 Then
wscript.echo "該應(yīng)用進(jìn)程池已創(chuàng)建............."
Set ObjAppPoolsExist = Nothing
Exit Function
Else
Set objAppPools = GetObject("IIS://" & getComputer() & "/W3SVC/AppPools")
Err.Clear
Set objAppPool = objAppPools.Create("IIsApplicationPool", strName)
If err.number = 0 Then
objAppPool.AppPoolIdentityType = 2 'runs as NT AUTHORITY\NETWORK 3 Run as specific user account 1 runs as NT AUTHORITY\LOCAL SERVICE 0 runs as NT AUTHORITY\SYSTEM
objAppPool.SetInfo
If err.Number = 0 Then
createAppPool = true
Wscript.echo"應(yīng)用程序"&strName&"創(chuàng)建成功!"
Else
createAppPool = false
Wscript.echo"應(yīng)用程序"&strName&"創(chuàng)建失??!"
End If
Else
createAppPool = false
End If
End If
Set objAppPool = Nothing
Set objAppPools = Nothing
Set ObjAppPoolsExist = Nothing
End Function
Function CreateWebSite(strComputer,IPAddr,WebServerBingings,WebSiteDirectory,LogDirectory,WebSiteInfo,GuestUserName,GuestUserPass,StartOrStop)
Dim w3svc, WebServer, NewWebServer, NewDir
Dim Bindings, BindingString, NewBindings, SiteNum, SiteObj, bDone
On Error Resume Next
Err.Clear
'檢測(cè)是否能夠加載W3SVC服務(wù)(即WEB服務(wù))
Set w3svc = GetObject("IIS://" & getComputer() & "/w3svc")
If Err.Number <> 0 Then '顯示錯(cuò)誤提示
Wscript.echo "無(wú)法打開(kāi): "&"IIS://" & getComputer() & "/w3svc"
Exit Function
End If
'檢測(cè)是否有設(shè)定相同IP地址、端口及主機(jī)名的站點(diǎn)存在
BindingString = IPAddr & WebServerBingings
For Each WebServer in w3svc
If WebServer.Class = "IIsWebServer" Then
Bindings = WebServer.ServerBindings
If BindingString = Bindings(0) Then
Wscript.echo "虛擬主機(jī):" & HostName & ",已存在,無(wú)法創(chuàng)建......!."
Exit Function
End If
End If
Next
'確定一個(gè)不存在的站點(diǎn)編號(hào)做為新建站點(diǎn)編號(hào),系統(tǒng)默認(rèn)WebSite站點(diǎn)編號(hào)為1,因此從2開(kāi)始
SiteNum=2
bDone = False
While (Not bDone)
Err.Clear
Set SiteObj = GetObject("IIS://"&getComputer()&"/w3svc/"&SiteNum) '加載指定站點(diǎn)
If (Err.Number = 0) Then
'Wscript.echo " Step_1站點(diǎn)"&SiteNum&"存在"
SiteNum = SiteNum + 1
Else
'Wscript.echo " Step_1站點(diǎn)"&SiteNum&"不存在"
Err.Clear
Set NewWebServer = w3svc.Create("IIsWebServer",SiteNum) '創(chuàng)建指定站點(diǎn)
If (Err.Number <> 0) Then
Wscript.echo SiteNum&"創(chuàng)建失敗"
SiteNum = SiteNum + 1
Else
Wscript.echo SiteNum&"創(chuàng)建成功"
bDone = True
End If
End If
If (SiteNum > 1000) Then '服務(wù)器最大創(chuàng)建站點(diǎn)數(shù)
Wscript.echo "超出服務(wù)器最大創(chuàng)建站點(diǎn)數(shù),正在創(chuàng)建的站點(diǎn)的序號(hào)為: "&SiteNum&"."
Exit Function
End If
Wend
'進(jìn)行站點(diǎn)基本配置
NewBindings = Array(0)
NewBindings(0) = BindingString
NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment= WebServerComment
NewWebServer.AnonymousUserName= GuestUserName
NewWebServer.AnonymousUserPass= GuestUserPass
NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = True
NewWebServer.EnableDefaultDoc = True
NewWebServer.DefaultDoc = "Default.htm, Default.asp, Index.htm, Index.asp,index.html,default.html"
NewWebServer.LogFileDirectory= LogDirectory
NewWebServer.SetInfo
Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = WebSiteDirectory
NewDir.AccessRead = true
NewDir.AppFriendlyName = WebServerComment
NewDir.AppCreate True
NewDir.AccessScript = True
NewDir.AuthNTLM = True
NewDir.AppIsolated = "2"
NewDir.AppPoolId = WebServerComment
'NewDir.AppCreate3 2,WebSiteInfo,false
NewDir.AuthFlags = "AuthAnonymous | AuthNTLM" '集成windows身份驗(yàn)證
Err.Clear
NewDir.SetInfo
If (Err.Number <> 0) Then
Wscript.echo "主目錄創(chuàng)建時(shí)出錯(cuò)."
Exit Function
End If
If StartOrStop = True Then
Err.Clear
Set NewWebServer = GetObject("IIS://" & getComputer() & "/w3svc/" & SiteNum)
NewWebServer.Start
If Err.Number <> 0 Then
Wscript.echo "啟動(dòng)站點(diǎn)時(shí)出錯(cuò)!"
Err.Clear
End If
End If
Wscript.echo "站點(diǎn)創(chuàng)建成功,站點(diǎn)編號(hào)為:"& SiteNum &" ,域名為:"& WebServerBingings
'SetCPULimitVar strComputer,SiteNum,100 '調(diào)用CPU最大使用程度
End Function
Function getComputer()
Dim objNet
Set objNet = CreateObject("WScript.Network")
getComputer= objNet.ComputerName
Set objNet = Nothing
End Function
Function CreateFileDirectory(UserName)
Set FsObject = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Err.Clear
If Not FsObject.FolderExists(UserName) Then
FsObject.CreateFolder(UserName)
If Err.number<>0 Then
Wscript.echo "創(chuàng)建目錄" & UserName & "失??!"
Else
Wscript.echo "創(chuàng)建目錄" & UserName & "成功!"
END if
Else
Wscript.echo"目錄" & UserName & "已存在,您不能創(chuàng)建!"
End if
Set FsObject = Nothing
End Function
Function SetNTFSDirectoryPerssion(sourceDirectory)
Dim WshShell,oExec
Dim exeDirectory
exeDirectory = "C:\Program Files\Resource Kit\xcacls.exe C:\Inetpub\"
Orders_exec = exeDirectory&sourceDirectory&" /E /T /G "&sourceDirectory&":F;F"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec(Orders_exec)
If oExec.status = 0 Then
Wscript.echo " 命令成功執(zhí)行!"
Else
Wscript.echo " 命令執(zhí)行失??!權(quán)限不夠或者該程序無(wú)法在DOS狀態(tài)下運(yùn)行"
End If
Set WshShell= Nothing
End Function
Function checkUSer(strUser)
On Error Resume Next
'Check if domain is already part of username passed to function
If instr(strUser,"\") = 0 then
Set objGrp = GetObject("WinNT://" & getComputer() & "/" & strUser & ",user")
Else
Set objGrp = GetObject("WinNT://" & replace(strUser,"\","/") & ",user")
End If
If err.number = 0 Then
checkUSer = true
Else
checkUSer = false
End If
Set objGrp = Nothing
On Error Goto 0
End Function
Function AddUser(Computer,UserName,PassWord,FullName,Info,GroupName)
DIM intReturn,FsObject
On Error Resume Next
'執(zhí)行創(chuàng)建帳號(hào)命令
Set ComputerAccoutObj = GetObject("WinNT://"&getComputer()&"/"&UserName&",user")
if Err.number=0 then
Wscript.echo UserName&"計(jì)算機(jī)用戶(hù)已存在...."
Else
Set ComputerObj = GetObject("WinNT://"&getComputer())
Set NewUser = ComputerObj.Create( "User" , UserName )
NewUser.SetInfo
'進(jìn)行帳號(hào)設(shè)置
NewUser.SetPassword ( PassWord ) '帳號(hào)密碼
NewUser.FullName = FullName '帳號(hào)全名
NewUser.Description = Info '帳號(hào)說(shuō)明
NewUser.UserFlags = &H10000 xor &H0040 '&H20000(使用者下次登入時(shí)須變更密碼) &H0040(使用者不得變更密碼) &H10000(密碼永久正確) &H0002(帳戶(hù)暫時(shí)停用)
NewUser.SetInfo
Wscript.echo "帳號(hào)"&UserName&"創(chuàng)建成功!"
Set objSeLectGroup = GetObject("WinNT://" & getComputer() & "/Guests,group")
Set objAddUser = GetObject("WinNT://" & getComputer() & "/" & UserName &",user")
objSeLectGroup.Add(objAddUser.ADsPath)
End if
Set ComputerObj=nothing
Set ComputerAccoutObj = nothing
Set ComputerAccoutGroupObj = nothing
End Function
作者:jacksonluo
一:IIS的服務(wù)器前期配置(其他的安全就不提了) (以 freeshare.com.cn為例 )
1.創(chuàng)建該域的(freeshare.com.cn)計(jì)算機(jī)用戶(hù)名,并設(shè)置一個(gè)安全密碼
2.創(chuàng)建該域的目錄文件夾如(D:\Inetpub\freeshare.com.cn)
3.設(shè)置目錄訪問(wèn)權(quán)限,freeshare.com.cn對(duì)該目錄完全控制(提供匿名用戶(hù)訪問(wèn)該網(wǎng)站)
4.創(chuàng)建一個(gè)該域名的描述(公司名) 的單獨(dú)應(yīng)用進(jìn)程池,為每一個(gè)虛擬主機(jī)創(chuàng)建獨(dú)立的應(yīng)用程序進(jìn)程池,保個(gè)別網(wǎng)站的問(wèn)題不會(huì)影響整臺(tái)服務(wù)器的運(yùn)行。創(chuàng)建進(jìn)程池時(shí)可以單獨(dú)設(shè)定用戶(hù)名和密碼并設(shè)置CPU,連接數(shù)等。這里采用的是默認(rèn)的。
5.創(chuàng)建一個(gè)虛擬主機(jī),并選擇上面所創(chuàng)建的應(yīng)用進(jìn)程池,在目錄安全性中選擇匿名用戶(hù)freeshare.com.cn,并設(shè)置與計(jì)算機(jī)創(chuàng)建freeshare.com.cn用戶(hù)名的密碼一致,必須一致,否則無(wú)法訪問(wèn)該網(wǎng)站。
OK,這個(gè)就對(duì)每個(gè)虛擬主機(jī)要做的,那么這些是不是需要全部的人工的去完成呢?答案是否定的,WINDOWS下也可以實(shí)現(xiàn)腳本編程哦,(呵呵我原來(lái)也是不知道的)
那么即然可以不用去手工完成,用什么呢?用VBSCRIPT腳本吧。
二:用腳本完成上述創(chuàng)建虛擬主機(jī)的動(dòng)作
保存為createsiglewebsite.vbs
復(fù)制代碼 代碼如下:
Dim SiteNum,IPAddr,PortNum,LenComputer,WebServerComment,LogDirectory
Dim user_password,GroupName,tmpFolder,UserNameComp,WebServerAutoStart
Dim WebAnonymousUserName
WebServerComment="公司名"'網(wǎng)站描述、計(jì)算機(jī)用戶(hù)描述及全名采用這個(gè)變量
UserNameComp="freeshare.com.cn"'計(jì)算機(jī)用戶(hù)名及用戶(hù)目錄采用這個(gè)變量
HostName = ":80:www.freeshare.com.cn"'虛擬主機(jī)站點(diǎn)主機(jī)名
WebAnonymousUserName = getComputer()&"\"&UserNameComp'虛擬主機(jī)匿名用戶(hù)(前面加了本地計(jì)算機(jī)名)
user_password = "**********"'計(jì)算機(jī)用戶(hù)和匿名用戶(hù)密碼。
GroupName = "Guests"'計(jì)算機(jī)用戶(hù)所在的組
IPAddr = ""'計(jì)算機(jī)IP地址,可以為空
tmpFolder = "D:\inetpub\"&UserNameComp'目標(biāo)目錄
LenComputer = Len(getComputer())+1'計(jì)算機(jī)名+'\'的長(zhǎng)度
PortNum = "80"'虛擬主機(jī)端口
WebServerAutoStart = "true"'創(chuàng)建虛擬主機(jī)后是否運(yùn)行true和false
LogDirectory = ""'日志目錄
'檢測(cè)是否存在該用戶(hù)的計(jì)算機(jī)帳號(hào)
If Not checkUser(UserNameComp) Then
'添加該計(jì)算機(jī)用戶(hù)帳號(hào)
AddUser getComputer(),UserNameComp,user_password,WebServerComment,WebServerComment,GroupName
Else
Wscript.echo "該計(jì)算機(jī)用戶(hù)名也存在.............."
End If
'創(chuàng)建用戶(hù)主目錄
CreateFileDirectory(tmpFolder)
'修改用戶(hù)主目錄的訪問(wèn)權(quán)限
SetNTFSDirectoryPerssion(UserNameComp)
'創(chuàng)建應(yīng)用進(jìn)程池
createAppPool WebServerComment
'創(chuàng)建虛擬主機(jī)站點(diǎn)
CreateWebSite getComputer(),IPAddr,HostName,tmpFolder,LogDirectory,WebServerComment,UserNameComp,user_password,WebServerAutoStart
'BuildNum = BuildNum+1
'Wscript.echo "=============================================="&BuildNum&"============================================="
'為每個(gè)IIS虛擬主機(jī)應(yīng)用程序站點(diǎn)創(chuàng)建站點(diǎn)應(yīng)用程序池
Function createAppPool(strName)
On Error Resume Next
Err.Clear
Set ObjAppPoolsExist = GetObject("IIS://"&getComputer()&"/W3SVC/AppPools"&strName)
If Err.number = 0 Then
wscript.echo "該應(yīng)用進(jìn)程池已創(chuàng)建............."
Set ObjAppPoolsExist = Nothing
Exit Function
Else
Set objAppPools = GetObject("IIS://" & getComputer() & "/W3SVC/AppPools")
Err.Clear
Set objAppPool = objAppPools.Create("IIsApplicationPool", strName)
If err.number = 0 Then
objAppPool.AppPoolIdentityType = 2 'runs as NT AUTHORITY\NETWORK 3 Run as specific user account 1 runs as NT AUTHORITY\LOCAL SERVICE 0 runs as NT AUTHORITY\SYSTEM
objAppPool.SetInfo
If err.Number = 0 Then
createAppPool = true
Wscript.echo"應(yīng)用程序"&strName&"創(chuàng)建成功!"
Else
createAppPool = false
Wscript.echo"應(yīng)用程序"&strName&"創(chuàng)建失??!"
End If
Else
createAppPool = false
End If
End If
Set objAppPool = Nothing
Set objAppPools = Nothing
Set ObjAppPoolsExist = Nothing
End Function
Function CreateWebSite(strComputer,IPAddr,WebServerBingings,WebSiteDirectory,LogDirectory,WebSiteInfo,GuestUserName,GuestUserPass,StartOrStop)
Dim w3svc, WebServer, NewWebServer, NewDir
Dim Bindings, BindingString, NewBindings, SiteNum, SiteObj, bDone
On Error Resume Next
Err.Clear
'檢測(cè)是否能夠加載W3SVC服務(wù)(即WEB服務(wù))
Set w3svc = GetObject("IIS://" & getComputer() & "/w3svc")
If Err.Number <> 0 Then '顯示錯(cuò)誤提示
Wscript.echo "無(wú)法打開(kāi): "&"IIS://" & getComputer() & "/w3svc"
Exit Function
End If
'檢測(cè)是否有設(shè)定相同IP地址、端口及主機(jī)名的站點(diǎn)存在
BindingString = IPAddr & WebServerBingings
For Each WebServer in w3svc
If WebServer.Class = "IIsWebServer" Then
Bindings = WebServer.ServerBindings
If BindingString = Bindings(0) Then
Wscript.echo "虛擬主機(jī):" & HostName & ",已存在,無(wú)法創(chuàng)建......!."
Exit Function
End If
End If
Next
'確定一個(gè)不存在的站點(diǎn)編號(hào)做為新建站點(diǎn)編號(hào),系統(tǒng)默認(rèn)WebSite站點(diǎn)編號(hào)為1,因此從2開(kāi)始
SiteNum=2
bDone = False
While (Not bDone)
Err.Clear
Set SiteObj = GetObject("IIS://"&getComputer()&"/w3svc/"&SiteNum) '加載指定站點(diǎn)
If (Err.Number = 0) Then
'Wscript.echo " Step_1站點(diǎn)"&SiteNum&"存在"
SiteNum = SiteNum + 1
Else
'Wscript.echo " Step_1站點(diǎn)"&SiteNum&"不存在"
Err.Clear
Set NewWebServer = w3svc.Create("IIsWebServer",SiteNum) '創(chuàng)建指定站點(diǎn)
If (Err.Number <> 0) Then
Wscript.echo SiteNum&"創(chuàng)建失敗"
SiteNum = SiteNum + 1
Else
Wscript.echo SiteNum&"創(chuàng)建成功"
bDone = True
End If
End If
If (SiteNum > 1000) Then '服務(wù)器最大創(chuàng)建站點(diǎn)數(shù)
Wscript.echo "超出服務(wù)器最大創(chuàng)建站點(diǎn)數(shù),正在創(chuàng)建的站點(diǎn)的序號(hào)為: "&SiteNum&"."
Exit Function
End If
Wend
'進(jìn)行站點(diǎn)基本配置
NewBindings = Array(0)
NewBindings(0) = BindingString
NewWebServer.ServerBindings = NewBindings
NewWebServer.ServerComment= WebServerComment
NewWebServer.AnonymousUserName= GuestUserName
NewWebServer.AnonymousUserPass= GuestUserPass
NewWebServer.KeyType = "IIsWebServer"
NewWebServer.FrontPageWeb = True
NewWebServer.EnableDefaultDoc = True
NewWebServer.DefaultDoc = "Default.htm, Default.asp, Index.htm, Index.asp,index.html,default.html"
NewWebServer.LogFileDirectory= LogDirectory
NewWebServer.SetInfo
Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")
NewDir.Path = WebSiteDirectory
NewDir.AccessRead = true
NewDir.AppFriendlyName = WebServerComment
NewDir.AppCreate True
NewDir.AccessScript = True
NewDir.AuthNTLM = True
NewDir.AppIsolated = "2"
NewDir.AppPoolId = WebServerComment
'NewDir.AppCreate3 2,WebSiteInfo,false
NewDir.AuthFlags = "AuthAnonymous | AuthNTLM" '集成windows身份驗(yàn)證
Err.Clear
NewDir.SetInfo
If (Err.Number <> 0) Then
Wscript.echo "主目錄創(chuàng)建時(shí)出錯(cuò)."
Exit Function
End If
If StartOrStop = True Then
Err.Clear
Set NewWebServer = GetObject("IIS://" & getComputer() & "/w3svc/" & SiteNum)
NewWebServer.Start
If Err.Number <> 0 Then
Wscript.echo "啟動(dòng)站點(diǎn)時(shí)出錯(cuò)!"
Err.Clear
End If
End If
Wscript.echo "站點(diǎn)創(chuàng)建成功,站點(diǎn)編號(hào)為:"& SiteNum &" ,域名為:"& WebServerBingings
'SetCPULimitVar strComputer,SiteNum,100 '調(diào)用CPU最大使用程度
End Function
Function getComputer()
Dim objNet
Set objNet = CreateObject("WScript.Network")
getComputer= objNet.ComputerName
Set objNet = Nothing
End Function
Function CreateFileDirectory(UserName)
Set FsObject = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Err.Clear
If Not FsObject.FolderExists(UserName) Then
FsObject.CreateFolder(UserName)
If Err.number<>0 Then
Wscript.echo "創(chuàng)建目錄" & UserName & "失??!"
Else
Wscript.echo "創(chuàng)建目錄" & UserName & "成功!"
END if
Else
Wscript.echo"目錄" & UserName & "已存在,您不能創(chuàng)建!"
End if
Set FsObject = Nothing
End Function
Function SetNTFSDirectoryPerssion(sourceDirectory)
Dim WshShell,oExec
Dim exeDirectory
exeDirectory = "C:\Program Files\Resource Kit\xcacls.exe C:\Inetpub\"
Orders_exec = exeDirectory&sourceDirectory&" /E /T /G "&sourceDirectory&":F;F"
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec(Orders_exec)
If oExec.status = 0 Then
Wscript.echo " 命令成功執(zhí)行!"
Else
Wscript.echo " 命令執(zhí)行失??!權(quán)限不夠或者該程序無(wú)法在DOS狀態(tài)下運(yùn)行"
End If
Set WshShell= Nothing
End Function
Function checkUSer(strUser)
On Error Resume Next
'Check if domain is already part of username passed to function
If instr(strUser,"\") = 0 then
Set objGrp = GetObject("WinNT://" & getComputer() & "/" & strUser & ",user")
Else
Set objGrp = GetObject("WinNT://" & replace(strUser,"\","/") & ",user")
End If
If err.number = 0 Then
checkUSer = true
Else
checkUSer = false
End If
Set objGrp = Nothing
On Error Goto 0
End Function
Function AddUser(Computer,UserName,PassWord,FullName,Info,GroupName)
DIM intReturn,FsObject
On Error Resume Next
'執(zhí)行創(chuàng)建帳號(hào)命令
Set ComputerAccoutObj = GetObject("WinNT://"&getComputer()&"/"&UserName&",user")
if Err.number=0 then
Wscript.echo UserName&"計(jì)算機(jī)用戶(hù)已存在...."
Else
Set ComputerObj = GetObject("WinNT://"&getComputer())
Set NewUser = ComputerObj.Create( "User" , UserName )
NewUser.SetInfo
'進(jìn)行帳號(hào)設(shè)置
NewUser.SetPassword ( PassWord ) '帳號(hào)密碼
NewUser.FullName = FullName '帳號(hào)全名
NewUser.Description = Info '帳號(hào)說(shuō)明
NewUser.UserFlags = &H10000 xor &H0040 '&H20000(使用者下次登入時(shí)須變更密碼) &H0040(使用者不得變更密碼) &H10000(密碼永久正確) &H0002(帳戶(hù)暫時(shí)停用)
NewUser.SetInfo
Wscript.echo "帳號(hào)"&UserName&"創(chuàng)建成功!"
Set objSeLectGroup = GetObject("WinNT://" & getComputer() & "/Guests,group")
Set objAddUser = GetObject("WinNT://" & getComputer() & "/" & UserName &",user")
objSeLectGroup.Add(objAddUser.ADsPath)
End if
Set ComputerObj=nothing
Set ComputerAccoutObj = nothing
Set ComputerAccoutGroupObj = nothing
End Function
程序完,你只要把上面的程序保存在以 *.vbs windows目錄下,就可以直接執(zhí)行了,
上面用到了一個(gè)xcacls的修改NTFS權(quán)限的小程序,您可以從微軟官方網(wǎng)站下載,你也可以訪問(wèn)http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp下載安裝既可。
另外部分見(jiàn)IIS服務(wù)器備份轉(zhuǎn)移解決方案(二)
另外部分見(jiàn)IIS服務(wù)器備份轉(zhuǎn)移解決方案(二)
相關(guān)文章
Windows Server 2019 取消默認(rèn)IE 瀏覽器安全增強(qiáng)配置的步驟
Windows Server 2019 操作系統(tǒng)打開(kāi)ie瀏覽器的時(shí)候各種對(duì)話框提示,下面就為大家分享一下解決方法2022-08-08IIS導(dǎo)入服務(wù)器證書(shū)的方法(IIS5、IIS6、IIS7)
這篇文章主要介紹了IIS導(dǎo)入服務(wù)器證書(shū)的方法(IIS5、IIS6、IIS7),需要的朋友可以參考下2017-09-09IIS8.5 配置錯(cuò)誤提示不能在此路徑中使用此配置節(jié)的解決辦法
今天剛安裝好IIS8.5, 我的系統(tǒng)是win8.1 enterprise版本。 建了一個(gè)簡(jiǎn)單的頁(yè)面準(zhǔn)備調(diào)試,卻發(fā)現(xiàn)了這個(gè)錯(cuò)誤,不能在此路徑中使用此配置節(jié)2014-07-07Win2003服務(wù)器網(wǎng)絡(luò)負(fù)載平衡的配置方法[圖文]
均衡負(fù)載能夠平均分配客戶(hù)請(qǐng)求到服務(wù)器列陣,籍此提供快速獲取重要數(shù)據(jù),解決大量并發(fā)訪問(wèn)服務(wù)問(wèn)題。這種群集技術(shù)可以用最少的投資獲得接近于大型主機(jī)的性能2012-11-11cscript adsutil.vbs 設(shè)置iis參數(shù)提示拒絕訪問(wèn)的解決方法
今天幫客戶(hù)網(wǎng)站開(kāi)啟gzip,為了方便用的是批處理版本,本地測(cè)試正常服務(wù)器上運(yùn)行出現(xiàn)拒絕訪問(wèn)錯(cuò)誤2012-07-07win2003 服務(wù)器安全設(shè)置教程(權(quán)限+防火墻)
win2003 服務(wù)器安全設(shè)置教程(權(quán)限+防火墻)2009-07-07在windows中追加/刪除虛擬打印機(jī)實(shí)例教程
這篇文章主要介紹了在windows中追加/刪除虛擬打印機(jī)實(shí)例教程,需要的朋友可以參考下2017-03-03