Предположим у вас имеется компьютер, или сервер, доступ к которому должны иметь только вы. Для того, чтоб система записывала в журнал кто и когда входил в систему — нужно настроить параметры аудита, которые были рассмотрены в статье Windows 7: Аудит событий входа в систему. Недостаток данного метода — это то, что про несанкционированный доступ вы узнаете только проанализировав журнал событий вашего компьютера. Существует другой способ — использовать Планировщик заданий Windows для того, чтоб отправлять уведомление по электронной почте про вход в систему. Для того чтоб реализовать данное решение необходимо, чтоб ваша система имела доступ в интернет и могла соединяться с почтовыми серверами (чтоб правила фаервола разрешали подключаться к внешним почтовым службам).
Какие есть варианты для отправки почтовых сообщений
Планировщик заданий Windows имеет встроенную возможность отправлять уведомления по электронной почте, но данной функцией не всегда имеется возможность воспользоваться, так как в ней нет возможности настроить параметры авторизации на сервере SMTP — планировщик заданий полагает, что параметры авторизации должны совпадать с параметрами учетной записи, от имени которой выполняется задание. Данная функция планировщика вам пригодится, если почтовый сервер запущен у вас на компьютере, но не подойдет, в случае, ес ли вы используете SMTP сервер Gmail, или другой сервер, требующий авторизации.
В противоположность встроенной функции отправки почтовых сообщений, SendEmail может практически все, что нужно для отправки сообщений: шифрование, авторизацию на почтовом сервере и так далее. Работает эта программа из командной строки и с ее помощью можно отправлять сообщение электронной почты выполнив всего-лишь одну команду.
Создаем задачу, запускающую программу sendemail.exe
Запускаем Планировщик заданий Windows: Нажимаем меню Пуск — В строке поиска пишем Планировщик заданий
UAC выдаст предупреждение, разрешаем программе вносить изменения в систему:
В открывшемся окне Планировщик заданий в панели Действия нажимаем Создать задачу:
Закладка Общие
Вбиваем имя и описание задачи. Выбираем радио-переключатель Выполнять вне зависимости от регистрации пользователя:
Закладка Триггеры
Создайте новый триггер, который срабатывает при входе кого-либо из пользователей в систему. Нажмите кнопку Создать:
В открывшемся окне оставте Радио-переключатель в положении Любой пользователь и нажмите ОК для добавления.
Закладка Действия
Создайте новое действие, которое запускает программу sendemail.exe.
В поле Добавить аргументы (необязательно) укажите:
-f from@gmail.com -t to@gmail.com -u Someone Logged Into Your Computer -m Someone just logged into your computer! -s smtp.gmail.com:587 -xu from@gmail.com -xp password -o tls=yes
Аргументы, перечисленные выше указывают программе sendemail.exe отправить почтовое сообщение со следующими параметрами:
- Адрес отправителя from@gmail.com
- Адрес получателя to@gmail.com
- Тема сообшения “Someone Logged Into Your Computer”
- Тело сообщения “Someone just logged into your computer!”.
- Адрес сервера smtp.gmail.com
- Порт 587
- Имя пользователя from@gmail.com
- Пароль password
- Также в параметрах указано использовать tls
Обратите внимание: Программу sendemail.exe можно не использовать, если у вас имеется доступ к серверу, который не требует авторизации, например запущенный на вашем локальном компьютере, или в локальной сети.
Закладка Условия
Снимите флажок с чекбокса: Запускать только при питании от электросети, в противном случае компьютер не будет отправлять уведомлений при питании ноутбука от аккумулятора.
Нажмите ОК для сохранения задания. Теперь, если кто-либо войдет в систему, вы получите уведомление об этом по электронной почте.
Заключение
Использование программы sendemail.exe не ограничивается только отправкой уведомлений по электронной почте, если кто-либо вошел в ваш компьютер, но также может быть использована во многих других случаях, например для отправки уведомлений по электронной почте если в журнале событий появилась запись об определенной ошибке, представляющей угрозу для работоспособности вашего сервера.
There are 4 Comments
добавление имени пользователя
Добрый день, спасибо за статью.
Не подскажете, как в sendmail передать какой именно пользователь вошел в систему? Допустим, если комп. в домене и несколько человек за ним работают.
Спасибо.
Я думаю лучшим вариантом
Я думаю лучшим вариантом будет воспользоваться PowerShell.
Для этого там есть командлет Send-MailMessage, а имя вошедшего в систему пользователя можно взять из переменной окружения:
Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.
Заполненность локального диска
Подскажите как сделать что бы при заполнении диска приходило письмо на почту?
Доброго дня.
Доброго дня.
Сделать это элементарно просто - нужно сделать скриптец, котрый будет чекать с определенным интервалом ваш диск и, если значениме свободного места ниже порога срабатывания - отправить вам уведомление на почту.
ВІсе что вам остается сделать, это вместо строки Write-Host "Alert! Disk free space is $free and this is less than $checkmark" вставить скрипт, который отправляет уведомление по электронной почте.
П.С. Последнюю секцию else { ... можно вообще убрать, если не нужна.
Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.
Добавить комментарий