濮阳杆衣贸易有限公司

主頁 > 知識庫 > 改進后的mkw3site.vbs(創(chuàng)建虛擬目錄)

改進后的mkw3site.vbs(創(chuàng)建虛擬目錄)

熱門標(biāo)簽:百度地圖標(biāo)注是什么意思 合肥高德地圖標(biāo)注 廣州ai電銷機器人一般多少錢 外呼線路中繼線是什么 外呼系統(tǒng)telrobot 外呼系統(tǒng)免費招代理 深圳外呼系統(tǒng)收費 怎么看地圖標(biāo)注 拉薩外呼系統(tǒng)業(yè)務(wù)
 
'---------------------------------------------------------------------------------------------------
' 創(chuàng)建虛擬目錄  POWER BY JARON , 江都資訊網(wǎng) , 1999-2002. 
' 如果您需要設(shè)置權(quán)限,請修改40-56 的代碼。 ** 根據(jù) 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
' 設(shè)置可寫、腳本執(zhí)行權(quán)限
Dim prop(15,2)
Dim propNum
prop(propNum,0) = "AccessRead"
prop(propNum,1) = true' 可讀設(shè)為TRUE,不可讀設(shè)為FALSE
propNum = propNum + 1
prop(propNum, 0) = "AccessWrite"
prop(propNum, 1) = true ' 可寫設(shè)為TRUE,不可寫設(shè)為FALSE
propNum = propNum + 1
prop(propNum, 0) = "AccessScript"
prop(propNum, 1) = true ' 可運行腳本文件設(shè)為TRUE,不可運行腳本文件設(shè)為FALSE
propNum = propNum + 1
prop(propNum, 0) = "AccessExecute"
prop(propNum, 1) = false ' 可運行執(zhí)行文件設(shè)為TRUE,不可運行執(zhí)行文件設(shè)為FALSE
propNum = propNum + 1
prop(propNum, 0) = "EnableDirBrowsing"
prop(propNum, 1) = true ' 允許列出目錄設(shè)為TRUE,不允許列出目錄設(shè)為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

標(biāo)簽:廣安 延安 周口 嘉興 漳州 六安 玉林 臺灣

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《改進后的mkw3site.vbs(創(chuàng)建虛擬目錄)》,本文關(guān)鍵詞  改進,后的,mkw3site.vbs,創(chuàng)建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《改進后的mkw3site.vbs(創(chuàng)建虛擬目錄)》相關(guān)的同類信息!
  • 本頁收集關(guān)于改進后的mkw3site.vbs(創(chuàng)建虛擬目錄)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    崇州市| 丹巴县| 湖南省| 新平| 韩城市| 白山市| 盐城市| 吴忠市| 章丘市| 宝清县| 青海省| 葫芦岛市| 盐池县| 罗江县| 巴青县| 阜宁县| 府谷县| 新巴尔虎右旗| 平塘县| 通化市| 东安县| 武山县| 建湖县| 黎川县| 赫章县| 修文县| 屯门区| 喀喇沁旗| 乌鲁木齐市| 光山县| 平江县| 尼勒克县| 阳山县| 清流县| 乌拉特中旗| 罗城| 郸城县| 抚顺市| 贵港市| 日土县| 台湾省|