WindowsサーバのHDDが知らないうちに溜まりすぎて止まってしまったなんてこと、たまにありますよね。
このHDDを定期的にチェックするスクリプトを使えば、そんな悩みを解決してくれます。 タスクスケジューラと、次の記事で紹介するメール送信スクリプトを使えば、 HDDを定期的にチェックし、一定率を超えた場合にメールで通知する、なんてこともできます。
閾値"Const THRESHOLD"の値が0.1にしていますが、これはHDD利用率が10%を超えたドライブを抽出する条件になります。
Cドライブが50%、Dドライブが5%の利用率だった場合、Cドライブの利用率のみがメッセージBOXに表示されます。
-----------------
"HDDchecker.vbs"
-----------------
Option Explicit '閾値の定義 Const THRESHOLD =0.3 'WMIにて使用する各種オブジェクトを定義・生成する Dim oClassSet Dim oClass Dim oLocator Dim oService Dim sMesStr Dim Judge Dim DiskPercent Judge = 0 'ローカルコンピュータに接続する Set oLocator = WScript.CreateObject("WbemScripting.SWbemLocator") Set oService = oLocator.ConnectServer 'クエリー条件をWQLにて指定する。 Set oClassSet = oService.ExecQuery("Select * From Win32_LogicalDisk Where DriveType=3") 'コレクションを解析する For Each oClass In oClassSet If(1-(oClass.FreeSpace / oClass.Size)) > THRESHOLD Then DiskPercent = Round((1-(oClass.FreeSpace / oClass.Size)) * 100 , 2) sMesStr = sMesStr & oClass.Name & "ドライブ利用率: " & DiskPercent & "%" & vbCrLf Judge = 1 End If Next 'メッセージBOXに表示 MsgBox sMesStr, , "HDD checker" 'お片付け Set oClassSet = Nothing Set oClass = Nothing Set oLocator = Nothing Set oService = Nothing Set sMesStr = Nothing Set Judge = Nothing Set DiskPercent = Nothing
コメント