闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳婀遍埀顒傛嚀鐎氼參宕崇壕瀣ㄤ汗闁圭儤鍨归崐鐐烘偡濠婂啰绠荤€殿喗濞婇弫鍐磼濞戞艾骞堟俊鐐€ら崢浠嬪垂閸偆顩叉繝闈涱儐閻撴洘绻涢崱妤冪缂佺姵濞婇弻宥堫檨闁告挻鐟х划璇差吋婢跺﹦锛熼梻渚囧墮閸楁洟宕堕澶嬫櫖濠电姴锕ら幊鎰版倿婵傚憡鐓熼幖鎼灣缁夌敻鏌涚€b晝鍔嶇紒鍌氱Т楗即宕奸悢鍝勫箰闂備礁鎲¢崝鎴﹀礉瀹€鍕劦妞ゆ帒鍊归弳顒侇殽閻愯尙绠婚柛鈺佸瀹曟ǹ顦寸紒鐘宠壘椤啴濡堕崱妤€顫囬梺绋匡攻濞茬喎顕i幖浣哥婵犫偓鍨归柊锝呯暦閹偊妾梻濠庡墻閸撶喖寮婚悢纰辨晩闁伙絽鏈崳鏉款渻閵堝啫鐏俊顐㈠暙閻g兘鎮㈤悡骞晠鏌曟径鍫濃偓鏇⑺夊鑸电厽闁绘柨鎽滈惌濠勭磼缂佹ê娴€规洘宀搁獮鎺楀箻閸撲胶妲囨繝娈垮枟閿曗晠宕滃☉銏╂晣婵炲樊浜濋埛鎴︽煙缁嬪灝顒㈤柣鎾卞劦閺屾稑螣閼姐倗鐓夐悗瑙勬礃閸ㄥ潡鐛Ο鑲╃<婵☆垳绮悵鏍⒒娓氣偓閳ь剛鍋涢懟顖涙櫠閹绢喗鐓欐い鏇楀亾缂佺姵鐗犲顐﹀箻缂佹ê浜归梺鑲┾拡閸擄箓宕ョ€n偂绻嗛柣鎰典簻閳ь剚鐗曡灋濞达綀顫夐崣蹇涙煏閸繍妯堥柡浣革躬閺岋繝宕堕妷銉т痪闂佹娊鏀辩敮鎺楁箒闂佹寧绻傞幊蹇涘箟閸濄儳纾煎璺鸿嫰閸斿菐閸パ嶈含妞ゃ垺娲熸慨鈧柍銉ュ帠濞n噣姊绘担绛嬪殐闁哥姵宀稿畷鎴﹀Χ婢跺﹥鐎梺鍛婂姦閸犳牜澹曢崗鍏煎弿婵☆垰娼¢崫娲煟閹垮嫮绉慨濠勭帛閹峰懘宕妷顬劌鈹戦埥鍡椾簻婵炵》绻濋獮鍐倷閻戞ɑ娅囬梺绋挎湰缁嬫垶绂嶅Δ鍛拺闂傚牊渚楀Σ鎾煛閸涱喚鐭掗柟顕嗙節閹垽宕楅懖鈺佸箰闂備焦鎮堕崕顕€寮插☉娆戭浄婵犲﹤鐗婇悡鍐喐濠婂牆绀堟繛鍡楅獜閼板潡姊洪鈧粔鎾倿閸偁浜滈柟鍝勭Х閸忓矂鏌涢悢鍝ュ弨闁哄瞼鍠栧畷娆撳Χ閸℃浼�     婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚敐澶婎潊闁绘ê妯婂Λ宀勬⒑鏉炴壆顦﹂柨鏇ㄤ邯瀵鍨鹃幇浣告倯闁硅偐琛ラ埀顒€纾鎰版⒒閸屾艾鈧悂宕戦崱娑樺瀭闂侇剙绉存闂佸憡娲﹂崹浼村礃閳ь剟姊洪棃娴ゆ盯宕ㄩ姘瑢缂傚倸鍊搁崐宄懊归崶鈺冪濞村吋娼欑壕瑙勭節闂堟侗鍎忛柦鍐枛閺屻劌鈹戦崱鈺傂ч梺鍝勬噺閻擄繝寮诲☉妯锋闁告鍋為悘宥夋⒑閸︻厼鍘村ù婊冪埣楠炲啫螖閸愨晛鏋傞梺鍛婃处閸撴盯藝閵娾晜鈷戠紓浣股戦幆鍫㈢磼缂佹ḿ绠撴い鏇稻缁绘繂顫濋鐐扮盎闂佽崵鍋炵粙鍫ュ焵椤掆偓閸樻牗绔熼弴鐐╂斀闁绘劖娼欓悘锔姐亜韫囧骸宓嗘鐐差儔閺佸啴鍩€椤掑倸顥氶柛褎顨嗛悡娑㈡煕閵夈垺娅呴柡瀣⒒缁辨帡鎮╅懡銈囨毇闂佸搫鐬奸崰鎾诲焵椤掍胶鈯曞畝锝呮健楠炲﹪宕橀鐣屽幗闂婎偄娲ら敃銉モ枍婵犲洦鐓涚€光偓鐎n剛袦濡ょ姷鍋炲玻鍧楀焵椤掑嫭娑ч柟璇х節瀹曟艾鈽夐姀鈾€鎷洪梺鍛婄箓鐎氼厼锕㈡导瀛樼厽闁冲搫锕ら悘锕傛煟濞戝崬娅嶇€规洖鐖奸、妤呭焵椤掑倻鐭嗛柛宀€鍋為悡鏇熺節闂堟稑顏╅柛鏃€绮撻弻锟犲川椤撴粌浠┑顔硷功缁垶骞忛崨瀛樻優闁荤喐澹嗛濂告⒒娴g儤鍤€闁硅绻濋獮鍐磼閻愵亖鍋撴笟鈧浠嬪Ω閵壯呯嵁濠电姷鏁告慨瀵糕偓娑掓櫇缁辩偞鎯旈埦鈧弨浠嬫煟閹邦剙绾ч柍缁樻礀闇夋繝濠傚閻帗顨ラ悙鏉戠伌闁硅櫕绮撻幃娆撴焻濞戞氨娉块梻鍌欐祰椤鐣峰Ο琛℃灃婵炴垶鐟ч々閿嬬節婵犲倸鏆婇柡鈧禒瀣厓闁宠桨绀侀弳鐐烘煏閸ャ劎绠栭柟渚垮妽缁绘繈宕ㄩ鍛摋闂備胶鎳撳鍫曞箰閸愯尙鏆﹂柣鏃傗拡閺佸洭鏌i弮鍋冲綊寮查幖浣光拺閻犲洤寮堕崬澶嬨亜椤愩埄妲搁悡銈夋煟閺傛崘鑽$紓鍌涙皑閹叉悂寮崼娑掑亾娴e壊娼╅悹杞扮秿閵娾晜鐓ラ柡鍌氱仢閳锋棃鏌i敃鈧悧鎾愁潖濞差亜绠归柣鎰絻婵矂姊洪崨濠冪叆缂佸鎸抽崺銏狀吋婢跺⿴娼婇梺闈涚墕濡矂骞忓ú顏呯厽闁绘ê鍘栭懜顏堟煕閺傝儻瀚伴柍璇茬Ч楠炲洭鎮ч崼銏犲箥闂備礁鎲¢崹顖炲磹閺嶎偀鍋撳鐐

45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:改进后的mkw3site.vbs怎么样?

改进后的mkw3site.vbs怎么样?

2016-08-24 19:38:20 来源:www.45fan.com 【

改进后的mkw3site.vbs怎么样?

//////////////////////////

作者:Jaron, 江都资讯网

邮件:jaron@jdinfo.net

网址:http://www.jiangdu.net

本文首次发表于 jiangdu.net ,如果您要转载该文章,请注明出处。

//////////////////////////

'---------------------------------------------------------------------------------------------------

' 创建虚拟目录 POWER BY JARON , 江都资讯网 , 1999-2002.

' 如果您需要设置权限,请修改40-56 的代码。 ** 根据 Microsoft Corp. 的 AdminScripts 改写

'

' 用法: mkw3site <--RootDirectory|-r ROOT DIRECTORY>

' <--Comment|-t SERVER COMMENT>

' [--computer|-c COMPUTER1[,COMPUTER2...]]

' [--HostName|-h HOST NAME]

' [--port|-o PORT NUM]

' [--IPAddress|-i IP ADDRESS]

' [--SiteNumber|-n SITENUMBER]

' [--DontStart]

' [--verbose|-v]

' [--help|-?]

'

' IP ADDRESS The IP Address to assign to the new server. Optional.

' HOST NAME The host name of the web site for host headers.

'WARNING: Only use Host Name if DNS is set up find the server.

' PORT NUM The port to which the server should bind

' ROOT DIRECTORY Full path to the root directory for the new server.

' SERVER COMMENT The server comment -- this is the name that appers in the MMC.

' SITENUMBERThe Site Number is the number in the path that the web server

'will be created at. i.e. w3svc/3

'

' Example 1: mkw3site -r D:/Roots/Company11 --DontStart -t "My Company Site"

' Example 2: mkw3site -r C:/Inetpub/wwwroot -t Test -o 8080

'------------------------------------------------------------------------------------------------

' Force explicit declaration of all variables

Option Explicit

On Error Resume Next

Dim ArgIPAddress, ArgRootDirectory, ArgServerComment, ArgSkeletalDir, ArgHostName, ArgPort

Dim ArgComputers, ArgStart

Dim ArgSiteNumber

Dim oArgs, ArgNum

Dim verbose

' 设置可写、脚本执行权限

Dim prop(15,2)

Dim propNum

prop(propNum,0) = "AccessRead"

prop(propNum,1) = true' 可读设为TRUE,不可读设为FALSE

propNum = propNum + 1

prop(propNum, 0) = "AccessWrite"

prop(propNum, 1) = true ' 可写设为TRUE,不可写设为FALSE

propNum = propNum + 1

prop(propNum, 0) = "AccessScript"

prop(propNum, 1) = true ' 可运行脚本文件设为TRUE,不可运行脚本文件设为FALSE

propNum = propNum + 1

prop(propNum, 0) = "AccessExecute"

prop(propNum, 1) = false ' 可运行执行文件设为TRUE,不可运行执行文件设为FALSE

propNum = propNum + 1

prop(propNum, 0) = "EnableDirBrowsing"

prop(propNum, 1) = true ' 允许列出目录设为TRUE,不允许列出目录设为FALSE

propNum = propNum + 1

ArgIPAddress = ""

ArgHostName = ""

ArgPort = 80

ArgStart = True

ArgComputers = Array(1)

ArgComputers(0) = "LocalHost"

ArgSiteNumber = 0

verbose = false

Set oArgs = WScript.Arguments

ArgNum = 0

While ArgNum < oArgs.Count

Select Case LCase(oArgs(ArgNum))

Case "--port","-o":

ArgNum = ArgNum + 1

ArgPort = oArgs(ArgNum)

Case "--ipaddress","-i":

ArgNum = ArgNum + 1

ArgIPAddress = oArgs(ArgNum)

Case "--rootdirectory","-r":

ArgNum = ArgNum + 1

ArgRootDirectory = oArgs(ArgNum)

Case "--comment","-t":

ArgNum = ArgNum + 1

ArgServerComment = oArgs(ArgNum)

Case "--hostname","-h":

ArgNum = ArgNum + 1

ArgHostName = oArgs(ArgNum)

Case "--computer","-c":

ArgNum = ArgNum + 1

ArgComputers = Split(oArgs(ArgNum), ",", -1)

Case "--sitenumber","-n":

ArgNum = ArgNum + 1

ArgSiteNumber = CLng(oArgs(ArgNum))

Case "--dontstart":

ArgStart = False

Case "--help","-?":

Call DisplayUsage

Case "--verbose", "-v":

verbose = true

Case Else:

WScript.Echo "Unknown argument "& oArgs(ArgNum)

Call DisplayUsage

End Select

ArgNum = ArgNum + 1

Wend

If (ArgRootDirectory = "") Or (ArgServerComment = "") Then

if (ArgRootDirectory = "") then

WScript.Echo "Missing Root Directory"

else

WScript.Echo "Missing Server Comment"

end if

Call DisplayUsage

WScript.Quit(1)

End If

Call ASTCreateWebSite(ArgIPAddress, ArgRootDirectory, ArgServerComment, ArgHostName, ArgPort, ArgComputers, ArgStart)

Sub ASTCreateWebSite(IPAddress, RootDirectory, ServerComment, HostName, PortNum, Computers, Start)

Dim w3svc, WebServer, NewWebServer, NewDir, Bindings, BindingString, NewBindings, ComputerIndex, Index, SiteObj, bDone

Dim comp

On Error Resume Next

For ComputerIndex = 0 To UBound(Computers)

comp = Computers(ComputerIndex)

If ComputerIndex <> UBound(Computers) Then

Trace "Creating web site on " & comp & "."

End If

' Grab the web service object

Err.Clear

Set w3svc = GetObject("IIS://" & comp & "/w3svc")

If Err.Number <> 0 Then

Display "Unable to open: "&"IIS://" & comp & "/w3svc"

End If

BindingString = IpAddress & ":" & PortNum & ":" & HostName

Trace "Making sure this web server doesn't conflict with another..."

For Each WebServer in w3svc

If WebServer.Class = "IIsWebServer" Then

Bindings = WebServer.ServerBindings

If BindingString = Bindings(0) Then

Trace "The server bindings you specified are duplicated in another virtual web server."

WScript.Quit (1)

End If

End If

Next

Index = 1

bDone = False

Trace "Creating new web server..."

' If the user specified a SiteNumber, then use that. Otherwise,

' test successive numbers under w3svc until an unoccupied slot is found

If ArgSiteNumber <> 0 Then

Set NewWebServer = w3svc.Create("IIsWebServer", ArgSiteNumber)

NewWebServer.SetInfo

If (Err.Number <> 0) Then

WScript.Echo "Couldn't create a web site with the specified number: " & ArgSiteNumber

WScript.Quit (1)

Else

Err.Clear

' Verify that the newly created site can be retrieved

Set SiteObj = GetObject("IIS://"&comp&"/w3svc/" & ArgSiteNumber)

If (Err.Number = 0) Then

bDone = True

Trace "Web server created. Path is - "&"IIS://"&comp&"/w3svc/" & ArgSiteNumber

Else

WScript.Echo "Couldn't create a web site with the specified number: " & ArgSiteNumber

WScript.Quit (1)

End If

End If

Else

While (Not bDone)

Err.Clear

Set SiteObj = GetObject("IIS://"&comp&"/w3svc/" & Index)

If (Err.Number = 0) Then

' A web server is already defined at this position so increment

Index = Index + 1

Else

Err.Clear

Set NewWebServer = w3svc.Create("IIsWebServer", Index)

NewWebServer.SetInfo

If (Err.Number <> 0) Then

' If call to Create failed then try the next number

Index = Index + 1

Else

Err.Clear

' Verify that the newly created site can be retrieved

Set SiteObj = GetObject("IIS://"&comp&"/w3svc/" & Index)

If (Err.Number = 0) Then

bDone = True

Trace "Web server created. Path is - "&"IIS://"&comp&"/w3svc/" & Index

Else

Index = Index + 1

End If

End If

End If

' sanity check

If (Index > 10000) Then

Trace "Seem to be unable to create new web server. Server number is "&Index&"."

WScript.Quit (1)

End If

Wend

End If

NewBindings = Array(0)

NewBindings(0) = BindingString

NewWebServer.ServerBindings = NewBindings

NewWebServer.ServerComment = ServerComment

NewWebServer.SetInfo

' Now create the root directory object.

Trace "Setting the home directory..."

Set NewDir = NewWebServer.Create("IIsWebVirtualDir", "ROOT")

NewDir.Path = RootDirectory

NewDir.AccessRead = true

Err.Clear

NewDir.SetInfo

NewDir.AppCreate (True)

If (Err.Number = 0) Then

Trace "Home directory set."

Else

Display "Error setting home directory."

End If

Trace "Web site created!"

If Start = True Then

Trace "Attempting to start new web server..."

Err.Clear

Set NewWebServer = GetObject("IIS://" & comp & "/w3svc/" & Index)

NewWebServer.Start

If Err.Number <> 0 Then

Display "Error starting web server!"

Err.Clear

Else

Trace "Web server started succesfully!"

End If

End If

Next

Call ASTSetPerms(comp, Index,ArgRootDirectory , prop, propNum)

End Sub

Sub ASTSetPerms(comp, ArgSiteNumber,ArgRootDirectory , propList, propCount)

'On Error Resume Next

Dim oAdmin

Dim fullPath

fullPath = "IIS://"&comp&"/w3svc/" & ArgSiteNumber & "/ROOT"

Trace "Opening path " & fullPath

Set oAdmin = GetObject(fullPath)

If Err.Number <> 0 Then

Display Error_NoNode

WScript.Quit (1)

End If

Dim name, val

if propCount > 0 then

Dim i

for i = 0 to propCount-1

name = propList(i,0)

val = propList(i,1)

if verbose = true then

Trace "Setting "&fullPath&"/"&name&" = "& val

end if

oAdmin.Put name, (val)

If Err <> 0 Then

Display "Unable to set property "&name

End If

next

oAdmin.SetInfo

If Err <> 0 Then

Display "不能保存更新信息."

End If

end if

End Sub

' Display the usage message

Sub DisplayUsage

WScript.Quit (1)

End Sub

Sub Display(Msg)

WScript.Echo Now & ". Error Code: " & Hex(Err) & " - " & Msg

End Sub

Sub Trace(Msg)

if verbose = true then

WScript.Echo Now & " : " & Msg

end if

End Sub

本文地址:http://www.45fan.com/a/question/67123.html
Tags: 后的 改进 mkw3site.vbs
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部