WMI scripting template that runs the script against each computer whose name was entered as a command-line argument (individual computer names must be separated by blank spaces). This script pings the relevant computer before trying to make a connection. To run the script, type the script name followed by the names of the computers you want to run the script against. For example: my_script.vbs atl-ws-01 atl-ws-2 atl-ws-03.

Visual Basic
Edit|Remove
On Error Resume Next

If Wscript.Arguments.Count = 0 Then
    Wscript.Echo "You must enter at least one computer name when starting this script."
    Wscript.Quit
End If

For Each strComputer in Wscript.Arguments

    Set objShell = CreateObject("WScript.Shell")
    strCommand = "%comspec% /c ping -n 3 -w 1000 " & strComputer & ""
    Set objExecObject = objShell.Exec(strCommand)

    Do While Not objExecObject.StdOut.AtEndOfStream
        strText = objExecObject.StdOut.ReadAll()
        If Instr(strText, "Reply") > 0 Then

            ' =====================================================================
            ' Insert your code here
            ' =====================================================================

            Set objWMIService = GetObject _
                ("winmgmts:\\" & strComputer & "\root\cimv2")
            Set colItems = objWMIService.ExecQuery _
                ("Select * From Win32_OperatingSystem")
            For Each objItem in ColItems
                Wscript.Echo strComputer & ": " & objItem.Caption
            Next

            ' =====================================================================
            ' End
            ' =====================================================================

        Else
            Wscript.Echo strComputer & " could not be reached."
        End If
    Loop
Next