WMI scripting template that runs the script against a list of computer found in a comma-separated-values file named C:\Scripts\Computers.txt. Individual computer names within the text file should be separated by commas, with no spaces between the commas and the computer names. For example: atl-ws-01,atl-ws-02,atl-ws-03. This script prompts you to enter a user name and password to be used when connecting to the remote computers.

Visual Basic
Edit|Remove
On Error Resume Next

Const WbemAuthenticationLevelPktPrivacy = 6

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\scripts\computers.txt", ForReading)

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"

Do Until objTextFile.AtEndOfStream 
    strComputers = objTextFile.ReadAll
Loop

objTextFile.Close

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