スクリプト

WindowsサーバのHDD利用率をチェック(VBS)

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

コメント

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