WMI scripting template that runs the script against one more more computers whose names are entered in an input box. This script prompts you to enter a user name and password to be used when connecting to the remote computers. When entering multiple computer names in the input box, names should be separated using blanks spaces. For example: atl-ws-01 atl-ws-02 atl-ws-03.

Visual Basic
Edit|Remove
On Error Resume Next

Const WbemAuthenticationLevelPktPrivacy = 6

strCredentials = InputBox _
    ("Please enter the user name, a blank space, and then the password:", _
        "Enter User Credentials")

If strCredentials = "" Then
    Wscript.Quit
End If

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

Set objNetwork = CreateObject("Wscript.Network")
strLocalComputer = objNetwork.ComputerName

strComputers = InputBox _
    ("Please enter the names of the computers you want to connect to:", _
        "Enter Computer Name", strLocalComputer)

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