Skip to content

Instantly share code, notes, and snippets.

@kmhuglen
Created September 14, 2016 11:43
Show Gist options
  • Save kmhuglen/226f8df51c3c8dd832b3904c1c3408ad to your computer and use it in GitHub Desktop.
Save kmhuglen/226f8df51c3c8dd832b3904c1c3408ad to your computer and use it in GitHub Desktop.
Set WshNetwork = WScript.CreateObject("WScript.Network")
strComputerName = WshNetwork.ComputerName
Set objADSysInfo = CreateObject("ADSystemInfo")
strDNSDomainName = objADSysInfo.DomainDNSName
`###########################################################################
strEmailAddressFROM = strComputerName & "@" & strDNSDomainName
strEmailAddressTO = "example@domain.net"
strSMTPServerName = "smtp.example.net"
strSMTPServerPort = 25
`CheckDiskVolume DiskVolume, MinFreeDiskSpace
`Example: CheckDiskVolume "C:", 40
CheckDiskVolume "C:", 5
CheckDiskVolume "D:", 10
`###########################################################################
Sub CheckDiskVolume(strDiskVolume, strMinFreeDiskSpace)
Set objWMIService = GetObject("winmgmts:.rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")
For Each objItem in colItems
If objItem.Name = strDiskVolume then
`wscript.echo objItem.Name
If (Int(objItem.FreeSpace /1073741824) < strMinFreeDiskSpace) then
`wscript.echo Int(objItem.FreeSpace /1073741824)
strEmailSubject = "Alert: " & strComputerName & ": Free space on " & objItem.VolumeName & "(" & objItem.Name & ") below " & strMinFreeDiskSpace & " GB”
strEmailBody = "Drive Letter: " & objItem.Name & vbCr & _
"Volume Name: " & objItem.VolumeName & vbCr & _
"Size: " & Int(objItem.Size /1073741824) & " GB" & vbCr & _
"Free space: " & Int(objItem.FreeSpace /1073741824) & " GB" & vbCr & _
""
SendEmail strEmailAddressFROM, strEmailAddressTO, strEmailSubject, strEmailBody, strSMTPServerName, strSMTPServerPort
end if
End if
Next
End Sub
Sub SendEmail(strEmailAddressFROM, strEmailAddressTO, strEmailSubject, strEmailBody, strSMTPServerName, strSMTPServerPort)
Set objEmail = CreateObject("CDO.Message")
objEmail.From = strEmailAddressFROM
objEmail.To = strEmailAddressTO
objEmail.Subject = strEmailSubject
objEmail.Textbody = strEmailBody
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPServerName
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = strSMTPServerPort
objEmail.Configuration.Fields.Update
objEmail.Send
End Sub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment