home *** CD-ROM | disk | FTP | other *** search
- '------------------------------------------------------------------------------------------------
- '
- ' Delete any node of the ADSI tree
- '
- ' Usage: ASTDeleteNode <--ADSPath|-a NODE1[,NODE2,NODE3...]>
- ' [--help|-?]
- '
- ' NODEx ADSI Path to node to be deleted
- '
- ' Example1: ASTDeleteNode -a IIS://LocalHost/w3svc/1/foo
- '
- '------------------------------------------------------------------------------------------------
-
- ' Force explicit declaration of all variables.
- Option Explicit
-
- ' Don't bail on errors
- On Error Resume Next
-
- Dim ParentNode, AdminNode, NodeList, NodeNum
-
- Dim oArgs, ArgNum
-
- 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 "--adspath","-a":
- ArgNum = ArgNum + 1
- NodeList = Split(oArgs(ArgNum), ",", -1)
- Case "--help","-?":
- Call DisplayUsage
- Case Else:
- Call DisplayUsage
- End Select
-
- ArgNum = ArgNum + 1
- Wend
-
- DeleteNodes(NodeList)
-
- Sub DeleteNodes (NodeList)
-
- If Not IsArray(NodeList) Then
- Call DisplayUsage
- End If
-
- NodeNum = 0
- While NodeNum <= UBound(NodeList)
- Set AdminNode = GetObject(NodeList(NodeNum))
- If Err <> 0 Then
- Display "Couldn't get node " & NodeList(NodeNum)
- WScript.Quit(1)
- End If
-
- Set ParentNode = GetObject(AdminNode.Parent)
-
- If Err <> 0 Then
- WScript.Echo "Couldn't get parent node " & AdminNode.Parent
- WScript.Quit(1)
- End If
-
- WScript.Echo "Deleting " & NodeList(NodeNum) & "..."
- Call ParentNode.Delete(AdminNode.Class, AdminNode.Name)
- If Err <> 0 Then
- WScript.Echo "Couldn't delete node " & NodeList(NodeNum)
- WScript.Quit(1)
- End If
-
- NodeNum = NodeNum + 1
- Wend
- End Sub
-
- Sub DisplayUsage
- WScript.Echo "Usage: ASTDeleteNode <--ADSPath|-a NODE1[,NODE2,NODE3...]>"
- WScript.Echo " [--help|-?]"
- WScript.Quit(1)
- End Sub
-
- Sub Display(Msg)
- WScript.Echo Now & ". Error Code: " & Err & " --- " & Msg
- End Sub
-