Я запускаю VBScript, чтобы показать настройки DNS и WINS на сотнях хостов Windows 2000 или Windows 2003. Когда сценарий закончен, я хочу знать с первого взгляда, если какие-либо серверы не могут запустить сценарий/не могут подключиться. (Я ищу что-то похожее на PowerShell catch
блока, если это возможно)Показать неудачные серверы на выходе
Скрипт ниже
Const FILEPATH = "C:\users\"
'Get the input file
Set FSO = CreateObject("Scripting.FileSystemObject")
Set fsoFile = FSO.GetFile(FILEPATH & "servers.txt")
strFilePath = fsoFile.Path
Set fsoInput = FSO.OpenTextFile(strFilePath, 1)
Do While Not fsoInput.AtEndOfStream
ComputerName = fsoInput.ReadLine
Call showdnswins(ComputerName)
Loop
Sub showdnswins(ComputerName)
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2")
Set config = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each conf In config
WScript.Echo vbNewLine, "Host name is " & conf.dnshostname
WScript.Echo "WINS Primary is " & conf.winsprimaryserver
WScript.Echo "WINS Secondary is " & conf.winssecondaryserver
For Each strDNSServer In conf.DNSServerSearchOrder
WScript.Echo "DNS order is " & strDNSServer
Next
Next
End Sub
На данный момент какие-либо сбои НЕЗАРЕГИСТРИРОВАННЫЙ, а также выявление их из сотен серверов отнимает много времени.