Solved

Determine Free HDD Space available on Servers from batch or script

Posted on 2007-11-30
4
506 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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

When you receive another warning that your shared drive is almost full and you have asked your users to clean out old files again and again, here is a single command that may help. This command will place all the files that have not been used rec…
Network ports are the threads that hold network communication together. They are an essential part of networking that can be easily ignore or misunderstood, my goals is to show those who don't have a strong network foundation how network ports opera…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
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…

726 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