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

  1. '------------------------------------------------------------------------------------------------
  2. '
  3. ' Delete any node of the ADSI tree
  4. '
  5. ' Usage: ASTDeleteNode <--ADSPath|-a NODE1[,NODE2,NODE3...]> 
  6. '                      [--help|-?] 
  7. '
  8. ' NODEx              ADSI Path to node to be deleted
  9. '
  10. ' Example1: ASTDeleteNode -a IIS://LocalHost/w3svc/1/foo
  11. '
  12. '------------------------------------------------------------------------------------------------
  13.  
  14. ' Force explicit declaration of all variables.
  15. Option Explicit
  16.  
  17. ' Don't bail on errors
  18. On Error Resume Next
  19.  
  20. Dim ParentNode, AdminNode, NodeList, NodeNum
  21.  
  22. Dim oArgs, ArgNum
  23.  
  24. Set oArgs = WScript.Arguments
  25.  
  26. ArgNum = 0
  27. While ArgNum < oArgs.Count
  28.  
  29.     If (ArgNum + 1) >= oArgs.Count Then
  30.         Call DisplayUsage
  31.     End If    
  32.  
  33.     Select Case LCase(oArgs(ArgNum))
  34.         Case "--adspath","-a":
  35.             ArgNum = ArgNum + 1
  36.             NodeList = Split(oArgs(ArgNum), ",", -1) 
  37.         Case "--help","-?":
  38.             Call DisplayUsage
  39.         Case Else:
  40.             Call DisplayUsage
  41.     End Select    
  42.  
  43.     ArgNum = ArgNum + 1
  44. Wend
  45.  
  46. DeleteNodes(NodeList)
  47.  
  48. Sub DeleteNodes (NodeList)
  49.  
  50.     If Not IsArray(NodeList) Then
  51.         Call DisplayUsage
  52.     End If
  53.  
  54.     NodeNum = 0
  55.     While NodeNum <= UBound(NodeList)
  56.         Set AdminNode = GetObject(NodeList(NodeNum))
  57.         If Err <> 0 Then
  58.             Display "Couldn't get node " & NodeList(NodeNum)
  59.             WScript.Quit(1)    
  60.         End If
  61.  
  62.         Set ParentNode = GetObject(AdminNode.Parent)
  63.  
  64.         If Err <> 0 Then
  65.             WScript.Echo "Couldn't get parent node " & AdminNode.Parent
  66.             WScript.Quit(1)
  67.         End If
  68.  
  69.         WScript.Echo "Deleting " & NodeList(NodeNum) & "..."
  70.         Call ParentNode.Delete(AdminNode.Class, AdminNode.Name)
  71.         If Err <> 0 Then
  72.             WScript.Echo "Couldn't delete node " & NodeList(NodeNum)
  73.             WScript.Quit(1)    
  74.         End If
  75.  
  76.         NodeNum = NodeNum + 1    
  77.     Wend
  78. End Sub
  79.  
  80. Sub DisplayUsage
  81.     WScript.Echo "Usage: ASTDeleteNode <--ADSPath|-a NODE1[,NODE2,NODE3...]>"
  82.     WScript.Echo "                     [--help|-?]"
  83.     WScript.Quit(1)
  84. End Sub
  85.  
  86. Sub Display(Msg)
  87.     WScript.Echo Now & ". Error Code: " & Err & " --- " & Msg
  88. End Sub
  89.