Diskspace checks and trend analysis

Posted on February 22nd, 2009 in Server 2003, Server 2008, Storage by alt-92

Simple Diskspace monitoring tools for home use.
Tools: VBscript & MS Access database

The script:

01
02
On Error Resume Next
03
Const HARD_DISK = 3
04
Const adOpenStatic = 3
05
Const adLockOptimistic = 3
06
 
07
strNamespace = "root\cimv2"
08
strDomain = "domain"
09
 
10
strDate = FormatDateTime(Now(), 2)
11
strTime = FormatDateTime(Now(), 4)
12
Set objNetwork = CreateObject("Wscript.Network")
13
' =====================================================================
14
arrComputers = Array("Server1","Server2","Server3")
15
 
16
For Each strComputer In arrComputers
17
Set objWMIService = GetObject("winmgmts:" & strComputer & "root\CIMV2")
18
Set colDisks = objWMIService.ExecQuery _
19
("SELECT * FROM Win32_LogicalDisk Where DriveType = " & HARD_DISK & "",,48)
20
 
21
Set objConnection = CreateObject("ADODB.Connection")
22
Set objRecordSet = CreateObject("ADODB.Recordset")
23
 
24
objConnection.Open _
25
"Provider = Microsoft.Jet.OLEDB.4.0; " & _
26
"Data Source = c:\scripts\diskspace_database.mdb"
27
 
28
objRecordSet.Open "SELECT * FROM tbldiskspace" , _
29
objConnection, adOpenStatic, adLockOptimistic
30
For Each objDisk in colDisks
31
objRecordSet.AddNew
32
 
33
objRecordSet("server") = strComputer
34
objRecordSet("domain") = strDomain
35
objRecordSet("disk") = objDisk.VolumeName
36
objRecordSet("drive") = objDisk.DeviceID
37
objRecordSet("totalspace") = round(objDisk.Size /1024/1024,2)
38
objRecordSet("freespace") = round(objDisk.FreeSpace /1024/1024,2)
39
objRecordSet("percentage") = (objDisk.Freespace /objDisk.Size)*100
40
objRecordSet("date") = strDate
41
objRecordSet("time") = strTime
42
 
43
objRecordSet.Update
44
 
45
Next
46
Next
47
 
48
objRecordSet.Close
49
objConnection.Close
50
' =====================================================================
51

Access DB has a simple table layout, and a couple of queries and comboboxes.
Table:
table

Form:
form1

Using the queries and by generating a PivotTable view, it’s easy to spot growth trends on disks.
Graph showing available free space:
graph

Comments are closed.