VBScript ネットワークに接続できなければ再起動する

こんにちは、ジンです。

今回はVBScriptを使って、PCが万が一ネットワークに接続できなくなった場合、PCを再起動するVBScriptのサンプルを書いておきます。最近会社のPCがなんかの拍子で急にネットワークにつながらなくなることがあり、再起動しないと復旧しないのでこんなものを作りました。会社外からリモートで操作できなくなっては仕事ができないので(笑)これをタスクマネージャーに仕込んで、30分に一回でも起動するようにしておけば何とかなりそうです。

サンプルではpingを送信して返って来なかったらPCを再起動するようにしています。「www.ocn.ne.jp」の部分は好きなアドレス(pingを返してくれるアドレス)に変更して使います。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Dim objWMIService
Dim PingSet
Dim Ping
Dim objShut
Dim objOS
Dim objSystem
 
 
Set objWMIService = GetObject("winmgmts:\\.")
Set PingSet = objWMIService.ExecQuery _
("Select * From Win32_PingStatus Where Address = 'www.ocn.ne.jp'")
 
 
For Each Ping In PingSet
 
  Select Case Ping.StatusCode
 
  Case 0
    checkPing = True
  Case 11010
    checkPing = False
  End Select
 
Next
 
 
If checkPing = False Then
 
  Set objShut = GetObject("winmgmts:{impersonationLevel = impersonate, (Shutdown)}")
  Set objOS = objShut.InstancesOf("Win32_OperatingSystem")
 
  For Each objSystem In objOS
      objSystem.Win32Shutdown 2
  Next
 
End If

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です