大量のパソコンの生存確認(シンプルに動作する版)

VBS

大量のパソコンが使われているかを確認することがあります。そこで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

タイトルとURLをコピーしました