Ситуация следующая:
мне надо с помощью vbs скрипта, или батника - чего-то самого простого, не нагружающего систему, определить размер свободного места на диске и если он меньше определенного, отправить сообщение net sendом, а лучше письмом по адресу [url=mailto:user@pochta.org]user@pochta.org[/url] (аккаунт почтового пользователя - Domen\User, пароль - password, сервер smtp: Pochtovik).
В программировании я совсем плоха, подскажите, пожалуйста, используя мои данные, как это можно реализовать.
добрый муж написал начало:
Dim drvpath, fs, d, s, MinMB
drvpath = "C:"
MinMB = 10000
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(drvPath))
s = "Свободное место на диске " & UCase(drvPath) & " "& FormatNumber(d.FreeSpace/1024/ 1024, 0) & " Mb"
if (d.FreeSpace/1024/1024 < MinMB) then MsgBox s
сообщение честно выскакивает на локальной машине. А мне надо получить такое сообщение на удаленную машину.
посмотрела примеры про отправку логов, не разобралась.
отправка письма
-
hasherfrog
Re: отправка письма
Добавьте ещё 3 строки
Код:
Не забудьте запустить у себя "Службу сообщений".
Это вариант с net send.
Вариант с почтой... Ни разу не пробовал, да и попробовать-то не получится толком, извините.
Код:
Код: Выделить всё
admin_host = "имявашей машины"
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("net send " & admin_host & " " & s)Не забудьте запустить у себя "Службу сообщений".
Это вариант с net send.
Вариант с почтой... Ни разу не пробовал, да и попробовать-то не получится толком, извините.
-
hasherfrog
-
hasherfrog
Re: отправка письма
Спасибо огромное!
можно еще глупый вопрос: как передать сообщение s в текстовый файл в этом скрипте?
ps: тогда смогу письмо отправлять. Может,это будет немного дикий и не очень изящный способ, но главное, что будет
можно еще глупый вопрос: как передать сообщение s в текстовый файл в этом скрипте?
ps: тогда смогу письмо отправлять. Может,это будет немного дикий и не очень изящный способ, но главное, что будет

-
hasherfrog
Re: отправка письма
Что-то типа такого
Код:
Код:
Код: Выделить всё
Dim drvpath, fs, d, s, MinMB
drvpath = "C:"
MinMB = 10000
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(drvPath))
s = "Свободное место на диске " & UCase(drvPath) & " "& FormatNumber(d.FreeSpace/1024/ 1024, 0) & " Mb"
if (d.FreeSpace/1024/1024 < MinMB) then
file2send = "some.txt"
Set objNewFile = fs.CreateTextFile(file2send)
objNewFile.WriteLine s
objNewFile.Close
*а тут как-то надо отправить file2send по почте*
end if-
hasherfrog
Re: отправка письма
Спасибо! все получилось.
на самом деле, говоря про дикий способ, не шутила.
Работает это так - в шедулере сначала запускается скрипт, который, если места мало, создает файл Alert.txt, через минуту запускается батник, который проверяет, есть ли файл Alert и, если есть, отправляет его по почте с помощью программки sendfile. Вот так "незатейливо"
машину не грузит совсем ничем, дополнительных служб запускать не надо.
если узнаю, как прямо из скрипта организовать отправку письма - обязательно напишу.
на самом деле, говоря про дикий способ, не шутила.
Работает это так - в шедулере сначала запускается скрипт, который, если места мало, создает файл Alert.txt, через минуту запускается батник, который проверяет, есть ли файл Alert и, если есть, отправляет его по почте с помощью программки sendfile. Вот так "незатейливо"

машину не грузит совсем ничем, дополнительных служб запускать не надо.
если узнаю, как прямо из скрипта организовать отправку письма - обязательно напишу.
-
hasherfrog
Re: отправка письма
>> Вот так "незатейливо"
А затейливо как раз плохо :]
Думаю, очень полезная вещь получится. Во всяком случае, я уже подумываю оснастить своих пользователей таким логон-скриптом. А то придёшь, сядешь за чужую машину, а там - бац - недостаточно места, бла-бла-бла. Сидишь и думаешь: "Али я плохой администратор, что мне никто не говорил про эту проблему? Может, страшный? Или слыву ленивым? Ведь работать-то невозможно с такими приколами, а они как-то работают и не жалуются..." :]
А отправка письма сильно зависит от установленного (или дефолтного) почтовика, так что тут всё специфично в каждом случае.
Net send же универсален, но требует включения некоторых служб.
А затейливо как раз плохо :]
Думаю, очень полезная вещь получится. Во всяком случае, я уже подумываю оснастить своих пользователей таким логон-скриптом. А то придёшь, сядешь за чужую машину, а там - бац - недостаточно места, бла-бла-бла. Сидишь и думаешь: "Али я плохой администратор, что мне никто не говорил про эту проблему? Может, страшный? Или слыву ленивым? Ведь работать-то невозможно с такими приколами, а они как-то работают и не жалуются..." :]
А отправка письма сильно зависит от установленного (или дефолтного) почтовика, так что тут всё специфично в каждом случае.
Net send же универсален, но требует включения некоторых служб.
-
Vadikan
Re: отправка письма
Цитата:
"Али я плохой администратор, что мне никто не говорил про эту проблему? Может, страшный?
Не, не страшный, а добрый. Страшный бы просто запретил пользователям сохранять файлы за пределами профиля, на профиль квоты поставил
"Али я плохой администратор, что мне никто не говорил про эту проблему? Может, страшный?
Не, не страшный, а добрый. Страшный бы просто запретил пользователям сохранять файлы за пределами профиля, на профиль квоты поставил
