Windows 7: уведомление по электронной почте про вход в систему

Предположим у вас имеется компьютер, или сервер, доступ к которому должны иметь только вы. Для того, чтоб система записывала в журнал кто и когда входил в систему — нужно настроить параметры аудита, которые были рассмотрены в статье 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, а имя вошедшего в систему пользователя можно взять из переменной окружения:

Твори, или уйди в сторону и не мешай творить другим.
Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.

Доброго дня.

Сделать это элементарно просто - нужно сделать скриптец, котрый будет чекать с определенным интервалом ваш диск и, если значениме свободного места ниже порога срабатывания - отправить вам уведомление на почту.

$disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object Size,FreeSpace

$size = $disk.Size
$free = $disk.FreeSpace

$checkmark = 1000GB

if($free -lt $checkmark)
{
    Write-Host "Alert! Disk free space is $free and this is less than $checkmark" 
}
else
{
    Write-Host "Relax! Disk space is OK"
}

ВІсе что вам остается сделать, это вместо строки Write-Host "Alert! Disk free space is $free and this is less than $checkmark" вставить скрипт, который отправляет уведомление по электронной почте.

П.С. Последнюю секцию else { ...  можно вообще убрать, если не нужна.

Твори, или уйди в сторону и не мешай творить другим.
Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.

Страницы

Добавить комментарий

You must have Javascript enabled to use this form.