WMI scripting template that runs the script against the computer whose name was included as a command-line argument. This script prompts you to enter a user name and password to be used when connecting to the remote machine; it also pings that remote machine before trying to make a connection. To run this script, type the name of the script followed by the name of the computer you want the script to run against. For example: my_script.vbs atl-ws-01.

Visual Basic
Edit|Remove
On Error Resume Next

Const WbemAuthenticationLevelPktPrivacy = 6

If Wscript.Arguments.Count <> 3 Then
    Wscript.Echo "You must enter the user name, password, and computer name " & _
        "when starting this script."
    Wscript.Quit
End If

strUser = Wscript.Arguments.Item(0)
strPassword = Wscript.Arguments.Item(1)
strComputer = Wscript.Arguments.Item(2)

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

        Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator")
        Set objWMIService = objwbemLocator.ConnectServer _
            (strComputer, strNamespace, strUser, strPassword)
        objWMIService.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy


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

        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