VBScriptを使用したインターネット接続の確認とエラー処理


Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = 'google.com'")
For Each objStatus in objPing
    If objStatus.StatusCode = 0 Then
        WScript.Echo "インターネット接続が正常です。"
    Else
        WScript.Echo "インターネット接続に問題があります。エラーコード: " & objStatus.StatusCode
    End If
Next

このコードでは、Win32_PingStatus クラスを使用して google.com に対して ping を送信し、応答ステータスコードをチェックします。ステータスコードが 0 の場合、インターネット接続は正常であると判断します。それ以外の場合は、エラーメッセージとステータスコードが表示されます。

さらに、エラーメッセージを表示するだけでなく、エラーハンドリングを追加してもよいでしょう。以下に例を示します。

On Error Resume Next
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = 'google.com'")
If Err.Number <> 0 Then
    WScript.Echo "エラーが発生しました。エラーコード: " & Err.Number
Else
    For Each objStatus in objPing
        If objStatus.StatusCode = 0 Then
            WScript.Echo "インターネット接続が正常です。"
        Else
            WScript.Echo "インターネット接続に問題があります。エラーコード: " & objStatus.StatusCode
        End If
    Next
End If
On Error GoTo 0

On Error Resume Next ステートメントを使用して、エラーが発生した場合でもスクリプトが続行されるようにしています。エラーが発生した場合、Err.Number にエラーコードが格納されます。エラーメッセージとエラーコードを表示することで、問題の特定とトラブルシューティングが容易になります。

このようにVBScriptを使用することで、インターネット接続の確認とエラー処理を簡単かつ効果的に行うことができます。