Solved

Determine Free HDD Space available on Servers from batch or script

Posted on 2007-11-30
4
516 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …

688 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