У меня есть программа, которая читает имена хостов из txt-файла, сканирует сеть для имени хоста, а затем отображает имя хоста и соответствующую операционную систему Windows (CAPTION).Variable in For Loop Retains Old Value
Я пытаюсь обновить все компьютеры под управлением Windows XP до Windows 7. Я пытаюсь запустить этот список, чтобы дать мне представление о том, сколько машин, которые я обновил, и о том, сколько мне еще нужно обновить, и т. д.
Проблема заключается в том, что когда я использую оператор On Error Resume Next
, если скрипт пытается связаться с именем хоста, которое является BAD HOST или если имя хоста DOWN, оно отображает операционную систему с последнего имени хоста. Затем каждое имя, которое выполняет сканирование, перемещается вперед, показывает эту же операционную систему.
Что может быть причиной этой ошибки?
On Error Resume Next
const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile= objFSO.OpenTextFile _
("C:\users\bh\desktop\hostnames.txt", ForReading)
strText = objTextFile.ReadAll
objTextFile.close
arrComputers = Split(strText, vbCrlf)
for Each strComputer in arrComputers
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colSettings
Wscript.Echo strComputer & ": " & objOperatingSystem.Caption
Next
Next