Простенький скрипт, который отслеживает свободное место на локальных дисках компьютера или сервера и уведомляет администратора по 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-сервере
Группа: Гости
Регистрация: --