Я пытаюсь создать сценарий, который будет подключаться к удаленным компьютерам в пределах диапазона IP-адресов, а затем эхо, какой из них запускает процесс explorer.exe.Эхо, работает ли процесс на нескольких удаленных компьютерах
Когда я запускаю скрипт в небольшом диапазоне (10.2.1.1 - 10.2.1.10), я знаю, что 10.2.1.4 находится в автономном режиме и что 10.2.1.9 и 10.2.1.10 не являются компьютерами на базе Windows и поэтому должны эхо- Explorer.exe не работает. Однако это не так. Кажется, они возвращают тот же результат предыдущего сервера. Например, 10.2.1.3 имеет 3 экземпляра Explorer.exe и echo 3 раза, тогда я получаю тот же результат для 10.2.1.4, который отключен.
Мой сценарий выглядит следующим образом:
On Error Resume Next
intStartingAddress = InputBox("Please enter a starting address: (e.g. 1)", "Starting Address")
intEndingAddress = InputBox("Please enter an ending address: (e.g. 254)", "Ending Address")
strSubnet = InputBox("Please enter a subnet excluding the last octet: (e.g. 10.2.1.)", "Subnet")
For i = intStartingAddress to intEndingAddress
strComputer = strSubnet & i
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * From Win32_Process Where Name = 'Explorer.exe'")
For Each objProcess in colProcess
If colProcess.Count > 0 Then
Wscript.Echo strComputer & " Explorer.exe is running."
Else
Wscript.Echo strComputer & " Explorer.exe is not running."
End If
Next
Next
Wscript.Echo "That's all folks!"
Может ли компьютер, не относящийся к Windows, ответить на этот код? – foxidrive