WMI scripting template which prompts you to enter (via StdIn) the names of all the computers you want to run the script against. Computer names should be separated by blanks spaces. For example: atl-ws-01 atl-ws-02 atl-ws-03. This script mprompts you to enter a user name and password to be used when connecting to the remote computers. The script requires Windows Script Host 5.6 and must be run under Cscript.exe.

Visual Basic
Edit|Remove
On Error Resume Next

Const WbemAuthenticationLevelPktPrivacy = 6

Wscript.StdOut.Write "Please enter the user name, a blank space, and then the password: "
strCredentials = WScript.StdIn.ReadLine

arrCredentials = Split(strCredentials," ")
strUser = arrCredentials(0)
strPassword = arrCredentials(1)
strNamespace = "root\cimv2"

Wscript.StdOut.Write "Please enter the names of the computers you want to connect to: "
strComputers = WScript.StdIn.ReadLine

If strComputers = "" Then
    Wscript.Quit
End If

arrComputers = Split(strComputers, " ")

For Each strComputer in arrComputers

    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
    ' =====================================================================

Next