home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 9 / IOPROG_9.ISO / contrib / iis4 / iis4_07.cab / delwebdr.vbs < prev    next >
Encoding:
Text File  |  1997-08-28  |  4.5 KB  |  135 lines

  1. '---------------------------------------------------------------------------------------------------
  2. 'ASTDeleteVirtualWebDir:This function creates a virtual web directory on the specified web Site
  3. '
  4. 'ASTDeleteVirtualWebDir    <--computer|-c COMPUTER>
  5. '                       <--website|-w WEBSITE1,WEBSITE2,...>
  6. '                       <--virtualdir|-v NAME1,NAME2,...>
  7. '                       [--help|-?]
  8. '
  9. 'COMPUTER                Computer on which users exists
  10. 'WEBSITE1,WEBSITE2        Virtual Web Sites on which directories will be created
  11. 'NAME1,NAME2            Virtual Directories names to create
  12. '
  13. 'Example 1                ASTCreateVirtualWebDir -c MyComputer -w "Default Web Site","Another Web Site"
  14. '                        -v "Virtual Dir1","Virtual Dir2"
  15. '
  16. '---------------------------------------------------------------------------------------------------
  17.  
  18.  
  19. ' Force explicit declaration of all variables.
  20. Option Explicit
  21.  
  22. On Error Resume Next
  23.  
  24. Dim oArgs, ArgNum
  25.  
  26. Dim ArgComputer, ArgWebSites, ArgDirNames
  27.  
  28. Set oArgs = WScript.Arguments
  29.  
  30. ArgNum = 0
  31. While ArgNum < oArgs.Count
  32.  
  33.     If (ArgNum + 1) >= oArgs.Count Then
  34.         Call DisplayUsage
  35.     End If    
  36.  
  37.     Select Case LCase(oArgs(ArgNum))
  38.         Case "--computer","-c":
  39.             ArgNum = ArgNum + 1
  40.             ArgComputer = oArgs(ArgNum)
  41.         Case "--websites","-w":
  42.             ArgNum = ArgNum + 1
  43.             ArgWebSites = Split(oArgs(ArgNum), ",", -1)
  44.         Case "--virtualdir","-v":
  45.             ArgNum = ArgNum + 1
  46.             ArgDirNames = Split(oArgs(ArgNum), ",", -1)
  47.         Case "--help","-?"
  48.             Call DisplayUsage
  49.     End Select    
  50.  
  51.     ArgNum = ArgNum + 1
  52. Wend
  53.  
  54. If (ArgComputer = "") Or (IsArray(ArgWebSites) = False) Or (IsArray(ArgDirNames) = False) Then
  55.     Call DisplayUsage
  56. Else
  57.     Call ASTDeleteVirtualWebDir(ArgComputer,ArgWebSites,ArgDirNames)
  58. End If
  59.  
  60. '---------------------------------------------------------------------------------
  61. Function Display(Msg)
  62.     WScript.Echo Now & ". Error Code: " & Err & " --- " & Msg
  63. End Function
  64.  
  65. Sub DisplayUsage()
  66.     WScript.Echo "Usage: ASTDeleteVirtualWebDir <--computer|-c COMPUTER>"
  67.     WScript.Echo "                              <--website|-w WEBSITE1,WEBSITE2,...>"
  68.     WScript.Echo "                              <--virtualdir|-v NAME1,NAME2,...>"
  69.     WScript.Echo "                              [--help|-?]"    
  70.     WScript.Quit
  71. End Sub
  72. '---------------------------------------------------------------------------------
  73.  
  74. Sub ASTDeleteVirtualWebDir(ComputerName,WebSites,DirNames)
  75.     On Error Resume Next
  76.     Display "STARTING  ASTDeleteVirtualWebDir --- Beginning to process web sites and virtual directories..."
  77.  
  78.     Dim Computer, WebSite, WebSiteID, vRoot, SiteNum, DirNum
  79.     
  80.     'Create and object for the Web service
  81.     Set Computer = GetObject("IIS://" & ComputerName & "/W3SVC")
  82.     If (Err <> 0) Then
  83.         Display "TERMINATING ASTDeleteVirtualWebDir --- Error accessing Computer " & ComputerName & ", or W3SVC."
  84.         Exit Sub
  85.     End If
  86.  
  87.     SiteNum = 0
  88.     If IsArray(WebSites) Then
  89.         While SiteNum <= UBound(WebSites)
  90.             'Check if the Web Site specified by the user exists
  91.             WebSiteID = -1
  92.             For Each WebSite in Computer
  93.                 If WebSite.Class = "IIsWebServer" Then
  94.                     If WebSite.ServerComment = WebSites(SiteNum) Then
  95.                         WebSiteID = WebSite.Name
  96.                         Exit For
  97.                     End If
  98.                 End If
  99.             Next
  100.  
  101.             If (WebSiteID = -1) Then
  102.                 Display "ERROR     ASTDeleteVirtualWebDir --- Error accessing web site " & WebSites(SiteNum) & ". Site may not exist."
  103.             Else
  104.                 'Get the Site's virtual root
  105.                 Set vRoot = GetObject("IIS://" & ComputerName & "/W3SVC/" & WebSiteID & "/root")
  106.                 If (Err <> 0) Then
  107.                     Display "ERROR     ASTCreateVirtualWebDir --- Error accessing root on web site " & WebSites(SiteNum) & "."
  108.                 Else
  109.                     DirNum = 0
  110.                     If (IsArray(DirNames) = True) Then
  111.                         While DirNum <= UBound(DirNames)
  112.                             'Delete the specified virtual directory
  113.                             Call vRoot.Delete("IIsWebVirtualDir",DirNames(DirNum))
  114.                             If (Err <> 0) Then
  115.                                 Display "ERROR     ASTDeleteVirtualWebDir --- Error deleting virtual directory " & DirNames(DirNum) & "on root of web site " & WebSites(SiteNum) & ".  Directory may not exist."
  116.                             Else
  117.                                 Display "RUNNING   ASTDeleteVirtualWebDir --- Deleted virtual web directory " & DirNames(DirNum) & " on root of web site " & WebSites(SiteNum) & "."
  118.                             End If
  119.  
  120.                             Err = 0
  121.                             DirNum = DirNum + 1
  122.                         Wend
  123.                     End If
  124.                 End If
  125.             End If
  126.     
  127.             Err = 0
  128.             SiteNum = SiteNum + 1
  129.         Wend
  130.     Else
  131.         Display "ERROR     ASTDeleteVirtualWebDir --- No Web Sites to process."
  132.     End If
  133.     
  134.     Display "COMPLETED ASTDeleteVirtualWebDir --- Web virtual directories processing completed."
  135. End Sub