отправка письма

Ответить
Аватара пользователя
hasherfrog

отправка письма

Сообщение hasherfrog »

Ситуация следующая:

мне надо с помощью 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: отправка письма

Сообщение hasherfrog »

Добавьте ещё 3 строки



Код:

Код: Выделить всё

admin_host = "имявашей машины"
Set objShell = CreateObject("WScript.Shell")
Set objExec = objShell.Exec("net send " & admin_host & " " & s)

Не забудьте запустить у себя "Службу сообщений".

Это вариант с net send.



Вариант с почтой... Ни разу не пробовал, да и попробовать-то не получится толком, извините.
Аватара пользователя
hasherfrog

Re: отправка письма

Сообщение hasherfrog »

Спасибо огромное!

можно еще глупый вопрос: как передать сообщение s в текстовый файл в этом скрипте?



ps: тогда смогу письмо отправлять. Может,это будет немного дикий и не очень изящный способ, но главное, что будет Изображение
Аватара пользователя
hasherfrog

Re: отправка письма

Сообщение hasherfrog »

Что-то типа такого





Код:

Код: Выделить всё

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: отправка письма

Сообщение hasherfrog »

Спасибо! все получилось.

на самом деле, говоря про дикий способ, не шутила.

Работает это так - в шедулере сначала запускается скрипт, который, если места мало, создает файл Alert.txt, через минуту запускается батник, который проверяет, есть ли файл Alert и, если есть, отправляет его по почте с помощью программки sendfile. Вот так "незатейливо" Изображение

машину не грузит совсем ничем, дополнительных служб запускать не надо.

если узнаю, как прямо из скрипта организовать отправку письма - обязательно напишу.
Аватара пользователя
hasherfrog

Re: отправка письма

Сообщение hasherfrog »

>> Вот так "незатейливо"

А затейливо как раз плохо :]



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



А отправка письма сильно зависит от установленного (или дефолтного) почтовика, так что тут всё специфично в каждом случае.

Net send же универсален, но требует включения некоторых служб.
Аватара пользователя
Vadikan

Re: отправка письма

Сообщение Vadikan »

Цитата:



"Али я плохой администратор, что мне никто не говорил про эту проблему? Может, страшный?



Не, не страшный, а добрый. Страшный бы просто запретил пользователям сохранять файлы за пределами профиля, на профиль квоты поставил Изображение
Ответить

Вернуться в «Программирование и базы данных»