大量のパソコンが使われているかを確認することがあります。そこでVBSを使ってIPが通るかで、確認することができます。
Option Explicit
Dim fso, outFile, objWMIService, colPings, objPing
Dim strSubnet, strComputer, i
Dim outputFileName
outputFileName = "ping_results.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile(outputFileName, True)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
strSubnet = "192.168.0."
WScript.Echo "Pingの実行を開始します。15分ほどお待ちください..."
For i = 1 To 255
strComputer = strSubnet & i
Set colPings = objWMIService.ExecQuery("Select * From Win32_PingStatus where Address = '" & strComputer & "'")
For Each objPing in colPings
' StatusCodeが0(成功)の場合はOK、それ以外(Nullやエラー)はNG
If Not IsNull(objPing.StatusCode) And objPing.StatusCode = 0 Then
outFile.WriteLine strComputer & " OK"
Else
outFile.WriteLine strComputer & " NG"
End If
Next
Next
outFile.Close
Set outFile = Nothing
Set fso = Nothing
Set objWMIService = Nothing
msgbox "完了"


Comments