ウェブ家の備忘録

ウェブデザイナーの備忘録

vbs 特定の曜日・時間帯にPCを使えない(強制シャットダウンする)ようにする

 

■目的■
 指定の曜日・時間帯はPCの使用を規制する。

■簡易説明■
 指定時間にシャットダウン命令が実行されるvbsファイルをスタートアップから実行。指定時間の間は強制シャットダウンされるようになる。

■作成■
 vbsにてシャットダウンのコマンドは下記。

CreateObject("WScript.Shell").Run "%WINDIR%\system32\shutdown.exe -s -t 0", 0

 18~24時まで使えなくするコマンドは下記。TargetHourSにPC規制開始時間、TargetHourEにPC規制終了時間入れてください。

TargetHourS = 18
TargetHourE = 24

TargetHourE = TargetHourE -1
If TargetHourS <= Hour(Now) and Hour(Now) <= TargetHourE Then
  CreateObject("WScript.Shell").Run "%WINDIR%\system32\shutdown.exe -s -t 0", 0
End If


 上記コマンドを参考に、下記vbsファイルを作る。

指定曜日にシャットダウンする.vbs
------
Dim TargetHourS
Dim TargetHourE

Do
  '曜日によって処理を変える
  Select Case Weekday(Now)
    Case 1'日曜
    Case 2'月曜
      CreateObject("WScript.Shell").Run "%WINDIR%\system32\shutdown.exe -s -t 0", 0
    Case 3'火曜
      TargetHourS = 18
      TargetHourE = 24
      
      TargetHourE = TargetHourE -1
      If TargetHourS <= Hour(Now) and Hour(Now) <= TargetHourE Then
        CreateObject("WScript.Shell").Run "%WINDIR%\system32\shutdown.exe -s -t 0", 0
      End If
    Case 4'水曜
    Case 5'木曜
    Case 6'金曜
    Case 7'土曜
  End Select
  
  '1分待つ
  WScript.Sleep 60000
Loop

 例では、月曜日は終日使えない、火曜日は18~24時の間使えないようにしています。
 例を参考に作ったvbsファイルをスタートアップに入れ、再起動するかまたはスタートアップから当該vbsを起動すれば設定完了です。お疲れさまでした。

 スタートアップの開き方:Win+R「shell:startup」

 
別例

指定曜日にシャットダウンする.vbs
------
Do
  '曜日によって処理を変える
  Select Case Weekday(Now)
    Case 1'日曜
    Case 2'月曜
      Call pcStopFull()
    Case 3'火曜
      Call pcStopSel(18,24)
    Case 4'水曜
    Case 5'木曜
    Case 6'金曜
    Case 7'土曜
  End Select
  
  '1分待つ
  WScript.Sleep 60000
Loop

Sub pcStopFull()
  CreateObject("WScript.Shell").Run "%WINDIR%\system32\shutdown.exe -s -t 0", 0
End Sub

Sub pcStopSel(timerS,timerE)
  timerE = timerE - 1
  If timerS <= Hour(Now) and Hour(Now) <= timerE Then
    CreateObject("WScript.Shell").Run "%WINDIR%\system32\shutdown.exe -s -t 0", 0
  End If
End Sub