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.
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
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