Главная > WSH скрипты > Скрипт для мониторинга свободного места на локальных дисках с уведомлением на e-mail
Скрипт для мониторинга свободного места на локальных дисках с уведомлением на e-mail20 декабря 2010. Разместил: dimon |
Простенький скрипт, который отслеживает свободное место на локальных дисках компьютера или сервера и уведомляет администратора по e-mail о том что оно достигло указанного порога.
Настройки скрипта заданы в начале файла. Все подписано комментариями так что думаю проблем у вас не должно возникнуть. Если все-таки проблемы у вас возникли - пишите в каменты '---------------------------------------------------------------------- ' ' Copyright (c) All rights reserved. ' ' ' AUTHOR: tudimon.com ' DATE: 20.12.2010 ' NAME: freespacedisk.vbs ' ' COMMENT: ' ' Скрипт отсылает сообщение по электронной почте когда свободное ' пространство на дисках меньше заданного порога ' '---------------------------------------------------------------------- compName = "ServerName" ' имя компьютера/сервера Quota = 450 ' порог в Гб strSMTP_Server = "smtp.local" ' SMTP сервер strTo = "support@domain.ru" ' e-mail куда отсылаем предупреждение strFrom = "support@domain.ru" ' от кого strSubject = "Low disk space on " & compName ' тема сообщения strBody = "" ' текст сообщения needSentMail = 0 ' флаг, что требуется слать письмо - достигнут лимит DriveLetters = "D|E|F" ' список дисков для проверки DriveLettersArray = Split (DriveLetters,"|") ' сделаем массив с буквами отслеживаемых дисков For Each DriveLettersArray in DriveLettersArray Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set WSHShell = WScript.CreateObject("WScript.Shell") Set Drive = fso.GetDrive(DriveLettersArray) free = Int((fso.GetDrive(drive).FreeSpace/(1024*1024*1024))) ' кол-во свободных Гб на винте If free < Quota Then needSentMail = 1 strBody = strBody & vbNewLine & "Disk space on drive " & DriveLettersArray & " is less than " & Quota & " Gb (" & free & " Gb)" 'MsgBox strBody End If Next ' если флаг был изменен, то уведомим по е-майлу администратора If needSentMail = 1 Then Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP_Server Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10 Flds.Update iMsg.Configuration = iConf iMsg.To = strTo iMsg.From = strFrom iMsg.Subject = strSubject iMsg.TextBody = strBody iMsg.Send End If Запихиваем этот скрипт в планировщик задач Windows и получаем письма. Периодичность проверки задается в настройках задачи планировщика v2 - добавлена авторизация на smtp-сервере Вернуться назад |