WMI scripting template that runs the script against all the computers listed in an Excel spreadsheet named C:\Scripts\Servers.xls. The computer names should be listed in column A of the spreadsheet, one computer per row, and with no blank cells cells between rows. 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

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 objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\Scripts\servers.xls")
x = 1

Do Until objExcel.Cells(x, 1).Value = ""
    If objExcel.Cells(x, 1).Value = "" Then
        Exit Do
    End If

    strComputer = objExcel.Cells(x, 1).Value 

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

    x = x + 1
Loop

objWorkbook.Close
objExcel.Quit