home *** CD-ROM | disk | FTP | other *** search
- '---------------------------------------------------------------------------------------------------
- 'ASTDeleteVirtualWebDir:This function creates a virtual web directory on the specified web Site
- '
- 'ASTDeleteVirtualWebDir <--computer|-c COMPUTER>
- ' <--website|-w WEBSITE1,WEBSITE2,...>
- ' <--virtualdir|-v NAME1,NAME2,...>
- ' [--help|-?]
- '
- 'COMPUTER Computer on which users exists
- 'WEBSITE1,WEBSITE2 Virtual Web Sites on which directories will be created
- 'NAME1,NAME2 Virtual Directories names to create
- '
- 'Example 1 ASTCreateVirtualWebDir -c MyComputer -w "Default Web Site","Another Web Site"
- ' -v "Virtual Dir1","Virtual Dir2"
- '
- '---------------------------------------------------------------------------------------------------
-
-
- ' Force explicit declaration of all variables.
- Option Explicit
-
- On Error Resume Next
-
- Dim oArgs, ArgNum
-
- Dim ArgComputer, ArgWebSites, ArgDirNames
-
- Set oArgs = WScript.Arguments
-
- ArgNum = 0
- While ArgNum < oArgs.Count
-
- If (ArgNum + 1) >= oArgs.Count Then
- Call DisplayUsage
- End If
-
- Select Case LCase(oArgs(ArgNum))
- Case "--computer","-c":
- ArgNum = ArgNum + 1
- ArgComputer = oArgs(ArgNum)
- Case "--websites","-w":
- ArgNum = ArgNum + 1
- ArgWebSites = Split(oArgs(ArgNum), ",", -1)
- Case "--virtualdir","-v":
- ArgNum = ArgNum + 1
- ArgDirNames = Split(oArgs(ArgNum), ",", -1)
- Case "--help","-?"
- Call DisplayUsage
- End Select
-
- ArgNum = ArgNum + 1
- Wend
-
- If (ArgComputer = "") Or (IsArray(ArgWebSites) = False) Or (IsArray(ArgDirNames) = False) Then
- Call DisplayUsage
- Else
- Call ASTDeleteVirtualWebDir(ArgComputer,ArgWebSites,ArgDirNames)
- End If
-
- '---------------------------------------------------------------------------------
- Function Display(Msg)
- WScript.Echo Now & ". Error Code: " & Err & " --- " & Msg
- End Function
-
- Sub DisplayUsage()
- WScript.Echo "Usage: ASTDeleteVirtualWebDir <--computer|-c COMPUTER>"
- WScript.Echo " <--website|-w WEBSITE1,WEBSITE2,...>"
- WScript.Echo " <--virtualdir|-v NAME1,NAME2,...>"
- WScript.Echo " [--help|-?]"
- WScript.Quit
- End Sub
- '---------------------------------------------------------------------------------
-
- Sub ASTDeleteVirtualWebDir(ComputerName,WebSites,DirNames)
- On Error Resume Next
- Display "STARTING ASTDeleteVirtualWebDir --- Beginning to process web sites and virtual directories..."
-
- Dim Computer, WebSite, WebSiteID, vRoot, SiteNum, DirNum
-
- 'Create and object for the Web service
- Set Computer = GetObject("IIS://" & ComputerName & "/W3SVC")
- If (Err <> 0) Then
- Display "TERMINATING ASTDeleteVirtualWebDir --- Error accessing Computer " & ComputerName & ", or W3SVC."
- Exit Sub
- End If
-
- SiteNum = 0
- If IsArray(WebSites) Then
- While SiteNum <= UBound(WebSites)
- 'Check if the Web Site specified by the user exists
- WebSiteID = -1
- For Each WebSite in Computer
- If WebSite.Class = "IIsWebServer" Then
- If WebSite.ServerComment = WebSites(SiteNum) Then
- WebSiteID = WebSite.Name
- Exit For
- End If
- End If
- Next
-
- If (WebSiteID = -1) Then
- Display "ERROR ASTDeleteVirtualWebDir --- Error accessing web site " & WebSites(SiteNum) & ". Site may not exist."
- Else
- 'Get the Site's virtual root
- Set vRoot = GetObject("IIS://" & ComputerName & "/W3SVC/" & WebSiteID & "/root")
- If (Err <> 0) Then
- Display "ERROR ASTCreateVirtualWebDir --- Error accessing root on web site " & WebSites(SiteNum) & "."
- Else
- DirNum = 0
- If (IsArray(DirNames) = True) Then
- While DirNum <= UBound(DirNames)
- 'Delete the specified virtual directory
- Call vRoot.Delete("IIsWebVirtualDir",DirNames(DirNum))
- If (Err <> 0) Then
- Display "ERROR ASTDeleteVirtualWebDir --- Error deleting virtual directory " & DirNames(DirNum) & "on root of web site " & WebSites(SiteNum) & ". Directory may not exist."
- Else
- Display "RUNNING ASTDeleteVirtualWebDir --- Deleted virtual web directory " & DirNames(DirNum) & " on root of web site " & WebSites(SiteNum) & "."
- End If
-
- Err = 0
- DirNum = DirNum + 1
- Wend
- End If
- End If
- End If
-
- Err = 0
- SiteNum = SiteNum + 1
- Wend
- Else
- Display "ERROR ASTDeleteVirtualWebDir --- No Web Sites to process."
- End If
-
- Display "COMPLETED ASTDeleteVirtualWebDir --- Web virtual directories processing completed."
- End Sub