Гид по технологиям

Как получать уведомления по электронной почте при входе пользователя в Windows

7 min read Windows Обновлено 11 Oct 2025
Уведомления по почте при входе в Windows
Уведомления по почте при входе в Windows

К чему служит эта инструкция

Коротко: если вы администрируете несколько учётных записей или компьютеров, электронные уведомления при входе помогут отслеживать активность входа в систему и быстро реагировать на нежелательные подключения. Это простое средство мониторинга для домашних и корпоративных ПК, где вы не хотите ненадёжного доступа.

Важно: эта инструкция показывает один конкретный метод — использование утилиты SendEmail и Планировщика заданий Windows. Ниже также описаны альтернативы, риски и проверочные сценарии.

Что потребуется

  • Доступ администратора на целевом компьютере.
  • Утилита SendEmail (портативная версия с поддержкой TLS). Скачайте с официального сайта и используйте версию с TLS.
  • Рабочая учётная запись электронной почты и параметры SMTP (сервер, порт). Для Gmail обычно smtp.gmail.com и порт 587.
  • Доступ в Интернет на момент отправки почты.

Шаг 1. Скачайте и поместите SendEmail

  1. Скачайте SendEmail с официального сайта. Выберите версию с поддержкой TLS.
  2. Распакуйте архив в каталог, доступный только администратору, например в “Program Files” или другую защищённую папку. Это уменьшит риск, что обычный пользователь изменит бинарник.

Утилита SendEmail в папке

ALT: Скриншот папки с файлами SendEmail, выделен исполняемый файл

Шаг 2. Откройте Планировщик заданий

Откройте меню «Пуск», найдите Task Scheduler и запустите его.

Запуск Task Scheduler из меню Пуск

ALT: Окно поиска Пуск с результатом “Task Scheduler”

Шаг 3. Создайте новую задачу

  1. В правой панели выберите “Create Task”.

Опция Create Task в Планировщике

ALT: Меню Планировщика заданий с выделенной кнопкой “Create Task”

  1. В окне “Create Task” задайте имя задачи и описание. Установите радиокнопку “Run whether the user is logged on or not”.

Параметры общей информации задачи

ALT: Окно создания задачи с вкладкой “General”, заполнены поля имени и опции выполнения

Important: не сохраняйте задачу, пока не зададите триггер и действие.

Шаг 4. Настройте триггер на вход в систему

  1. Перейдите на вкладку “Triggers” и нажмите “New”.
  2. В “New Trigger” в поле “Begin the task” выберите “At log on” и отметьте “Any user”.

Создание нового триггера на вход

ALT: Окно создания триггера, выбран вариант “At log on” и опция “Any user”

  1. Сохраните триггер нажатием “Ok”.

Шаг 5. Настройте действие — запуск SendEmail

  1. Перейдите на вкладку “Actions” и нажмите “New”.
  2. В поле “Program or Script” укажите полный путь до исполняемого файла SendEmail.
  3. В поле “Add arguments” вставьте команду с параметрами SMTP и сообщением. Замените email и PASSWORD на свою почту и пароль.
-f [email protected] -t [email protected] -xu [email protected] -xp PASSWORD -s smtp.gmail.com:587 -o tls=yes -u "System Login Activity" -m "A user logged into your system!"

Пояснения к параметрам:

  • -f — адрес отправителя
  • -t — адрес получателя
  • -xu — имя пользователя SMTP (обычно ваш email)
  • -xp — пароль учётной записи (см. раздел Безопасность)
  • -s — адрес SMTP вместе с портом
  • -o tls=yes — включить TLS
  • -u — тема письма
  • -m — тело письма

Note: для других почтовых сервисов замените адрес SMTP и порт на соответствующие.

Добавьте действие и подтвердите нажав “Ok”.

Настройка действия задачи с SendEmail

ALT: Вкладка “Actions” с заполненными полями и командой для SendEmail

Шаг 6. Уточните условия и параметры питания

Если задача будет выполняться на ноутбуке, снимите галочку “Start the task only if the computer is on AC power”, чтобы задача могла запускаться от батареи.

Параметры условий задачи

ALT: Вкладка “Conditions” с опцией включения запуска только от сети питания

Шаг 7. Тестирование задачи

В Планировщике выберите созданную задачу и нажмите “Run”. Если настройки корректны, вы получите тестовое письмо.

Запуск задачи вручную через Run

ALT: Главное окно Планировщика заданий с выделенной задачей и кнопкой “Run”

Когда этот способ не сработает

  • SMTP-провайдер блокирует входы по паролю (часто случается с Google без app-password или без OAuth2).
  • Фаервол или локальные политики запрещают исходящие соединения на SMTP-порт.
  • Утилита SendEmail не имеет обновлений или несовместима с новыми механизмами аутентификации (OAuth).
  • Пользователь отключил Интернет в момент входа.

Альтернативные подходы

  • Использовать PowerShell-скрипт, который вызывает API почтового сервиса (например, SendGrid, Mailgun) и хранит ключ в защищённом хранилище (Windows Credential Manager).
  • Настроить централизованный сбор событий: Windows Event Forwarding → SIEM/Log Server и оповещения оттуда (более масштабируемо для крупных сетей).
  • Использовать сторонние push-сервисы: Pushbullet, Pushover, IFTTT для мгновенных уведомлений на телефон.
  • Blat — другая консольная утилита, но без TLS, поэтому сейчас редко подходит.

Мини‑методология безопасности (шаги, чтобы не раскрыть пароли)

  1. Если почта поддерживает двухфакторную аутентификацию, создайте приложение/пароль и используйте его вместо основного пароля.
  2. По возможности храните секреты в Windows Credential Manager и извлекайте их в скрипте, а не указывайте в аргументах командной строки.
  3. Ограничьте права на папку с SendEmail: только администраторам.
  4. Включите шифрование TLS/STARTTLS (параметр -o tls=yes) и используйте порт провайдера.
  5. Логируйте попытки отправки в локальный файл для аудита.

Критерии приёмки

  • Письмо отправляется успешно при ручном запуске задачи.
  • Письмо отправляется автоматически при входе в систему любого пользователя.
  • Текст письма содержит идентификатор компьютера и время входа (если вы добавите их в тело сообщения).
  • Пароль не хранится в открытом виде в доступных для обычного пользователя местах.

Примеры шаблонов темы и тела письма

  • Тема: “[Security] Вход в систему - {COMPUTERNAME}”
  • Тело: “Пользователь {USERNAME} выполнил вход на {COMPUTERNAME} в {TIMESTAMP}.”

Чтобы подставлять переменные, можно создать небольшой bat/ps1-скрипт, который формирует строку и вызывает SendEmail с параметром -m.

Тестовые случаи и приемочные проверки

  1. Тест 1 — ручной запуск: выбрать задачу в Планировщике → Run → ожидаемый результат: письмо пришло.
  2. Тест 2 — вход под новой учётной записью: залогиньтесь под тестовой учёткой → ожидаемый результат: письмо пришло.
  3. Тест 3 — ноутбук от батареи: выключите питание от сети, войдите под учётной записью → ожидаемый результат: письмо пришло.
  4. Тест 4 — отсутствие сети: отключите Интернет, войдите → ожидаемый результат: задача зарегистрировала ошибку, письмо не пришло.

Рекомендации по расширению для крупных сред

  • Вместо прямой отправки почты используйте централизованный лог-кластер (ELK/Graylog) и создайте оповещения по событиям входа.
  • Примените Windows Event Forwarding для сбора логов от всех хостов и создайте оповещения в SIEM.

Матрица рисков и способы смягчения

  • Риск: компрометация пароля SMTP. Смягчение: использовать отдельный апп‑пароль, хранить секреты в менеджере.
  • Риск: утечка сведений в письме. Смягчение: не отправляйте чувствительные данные (пароли, токены).
  • Риск: ложные срабатывания при автоматическом входе системных сервисов. Смягчение: фильтровать по имени пользователя или группам.

Роль‑ориентированный чеклист

  • Для администратора:

    • Проверил права на файл SendEmail и папку.
    • Настроил задание в контексте учётной записи, имеющей право на отправку.
    • Настроил логирование ошибок.
  • Для домашнего пользователя:

    • Скачал SendEmail и проверил версию с TLS.
    • Использовал app‑password, если почта — Gmail с двухфакторной аутентификацией.

Короткое пояснение терминов

  • SMTP — протокол для отправки электронной почты.
  • TLS — шифрование канала для защиты передачи почты.

Когда лучше не использовать этот метод

  • Если вы обязаны соответствовать строгим политикам безопасности (например, запрет на хранение паролей в виде простого текста) — используйте централизованные решения или API с ключами, хранящимися в безопасном хранилище.

FAQ

Нужно ли указывать реальный пароль в аргументах SendEmail?

Нет. Лучший вариант — создать application password у почтового провайдера (если поддерживается) или хранить секрет в Windows Credential Manager и импортировать в скрипт во время выполнения.

Можно ли отправлять уведомления не на e‑mail, а сразу в мессенджер?

Да. Используйте API сервисов (Pushbullet, Pushover, Telegram Bot API) и вызывайте их из PowerShell/скрипта вместо SendEmail.

Конец и краткое резюме

Использование SendEmail вместе с Планировщиком заданий — простой способ получать уведомления о входах в систему. Однако обратите внимание на хранение паролей и ограничения SMTP‑провайдеров. Для корпоративных сред предпочтительнее централизованные решения и SIEM.

Summary:

  • Настройте задачу в Task Scheduler с триггером “At log on”.
  • Укажите SendEmail и параметры SMTP в аргументах.
  • Используйте защищённое хранение паролей и тестируйте сценарии.

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

Также читайте: How to Disable Computer Notifications on Windows

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Удаление SkyDrive Pro из контекстного меню
Windows

Удаление SkyDrive Pro из контекстного меню

Как включить шарики в FaceTime — инструкция
Инструкция

Как включить шарики в FaceTime — инструкция

Исправить повреждённый список рассылки Outlook
Электронная почта

Исправить повреждённый список рассылки Outlook

Как объединять и разделять электронные книги
Руководство

Как объединять и разделять электронные книги

Скрытые шахматы в Facebook Messenger
Руководство

Скрытые шахматы в Facebook Messenger

Векторные изображения для брендинга
Дизайн

Векторные изображения для брендинга