Solved

Determine Free HDD Space available on Servers from batch or script

Posted on 2007-11-30
4
503 Views
Last Modified: 2013-12-06
Hi I would like to develop a script that runs regulary and colates the free space avaialbale on each drive in each server I have. What fields and or methods ara available to to do this ?
The server environment is Win2k3
I can then colate the data in to  excel or a data base so I can monitor free space and when there are any significant changes to free space . Currently I have a batch file that basically does a dir listing on each drive then I have this recorded  manually into a spreadsheet but I want to automate the whole process.

Eventually I want something I can take with me to diffenet sites

0
Comment
Question by:EGC
  • 3
4 Comments
 
LVL 11

Expert Comment

by:bsharath
ID: 20381065
Hi,

Try Spiceworks that tools does the job...
0
 
LVL 11

Expert Comment

by:bsharath
ID: 20381071
See this by Rob excellent way to get space
http://www.experts-exchange.com/Programming/Languages/Scripting/Q_22904813.html#discussion

Take the computers.txt file over the vbs file it will get all the diskspace of all the machines to different csv files then use the converter to get all data to 1 sheet.
0
 
LVL 11

Expert Comment

by:bsharath
ID: 20381079
You can download it from here
http://www.spiceworks.com/
0
 
LVL 10

Accepted Solution

by:
RubalJ earned 500 total points
ID: 20676852
Hi,

I use following vbscript to do so. On might need to add server names to Servers() array.

Eg.
Servers(0) = "RUBAL1"
Servers(1) = "RUBAL2"

Thanks
Const PROCENTLIMIT = 10
Const HARD_DISK = 3
 
Dim Servers(100)
Servers(0) = "RUBAL1"
Servers(1) = "RUBAL2"
 
on error resume next
For Each s In Servers
If s <> "" Then
	strComputer = s
	Set objWMIService = GetObject("winmgmts:" _
	    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
	
	Set colDisks = objWMIService.ExecQuery _
	    ("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
	
	For Each objDisk in colDisks
	    FreeProcent = objDisk.FreeSpace * 100 / objDisk.Size
	    If FreeProcent < PROCENTLIMIT Then
		Set objEmail = CreateObject("CDO.Message")
	
		objEmail.From = "Rubal@Rubal.Net"
		objEmail.To = "Rubal@Rubal.Net"
		objEmail.Subject = strComputer & " low space" 
		objEmail.Textbody = objDisk.DeviceID & " low space " & round((objDisk.FreeSpace / 1024 / 1024 / 1024), 2) & " GB free"
		objEmail.Send
	    End If
	Next
End if
Next

Open in new window

0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If like me you are one who spends a lot of time working and scripting with cmd.exe, sometimes it is handy to be able to quickly view a calendar for a given month and year. This script will quickly do just that!  Save the code posted below to a .bat …
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question