Как отправить сообщение всем пользователям терминального сервера Windows Server 2019 — задача, с которой рано или поздно сталкивается любой администратор. Чтобы оповестить всех подключённых пользователей о плановом перезапуске, обновлении или аварийной ситуации, не нужно звонить каждому или слать письма. В Windows Server 2019 есть встроенные инструменты для массовой рассылки уведомлений через Services for Remote Desktop (RDS).
Способов несколько: от простой команды в до графического интерфейса Управление сервером. В этой статье разберём все рабочие методы, их плюсы, минусы и нюансы настройки. Вы сможете выбрать наиболее удобный вариант в зависимости от задачи — будь то срочное оповещение или запланированное уведомление.
Зачем отправлять сообщения пользователям RDS
Терминальный сервер (Windows Server 2019) используется для удалённой работы нескольких пользователей на одном сервере. В таких случаях важно оперативно информировать всех о:
- плановых работах (обновления, перезагрузка сервера);
- аварийных ситуациях (сбои, отключение электричества);
- изменениях в политиках безопасности;
- новых функциях или ограничениях.
Без массовой рассылки администратору пришлось бы вручную обзванивать каждого пользователя или надеяться, что все проверят почту. Это неэффективно и чревато упущениями.
Используйте массовые уведомления для критически важных сообщений. Для несущественных новостей хватит электронной почты или корпоративного чата.
| Метод | Сложность | Когда использовать | Требуемые права |
|---|---|---|---|
Командная строка (msg) | Низкая | Быстрое оповещение без графического интерфейса | Администратор |
PowerShell (Send-RDUserMessage) | Средняя | Автоматизация, скрипты, расширенные настройки | Администратор |
Графический интерфейс (Управление сервером) | Низкая | Удобно для новичков, визуальный контроль | Администратор |
Способы отправки сообщений: сравнение методов
В Windows Server 2019 есть три основных способа отправить сообщение всем пользователям терминального сервера. Каждый из них подходит для разных сценариев.
Командная строка и подходят для автоматизации и удалённого управления. Графический интерфейс удобен, если вы работаете напрямую с сервером и хотите видеть список активных сессий.
Отправка сообщения через командную строку
Самый быстрый способ — использовать утилиту msg. Она входит в состав Windows и работает из командной строки (cmd). Чтобы отправить сообщение всем пользователям терминального сервера, выполните:
- Откройте командную строку от имени администратора (
Win + X → Командная строка (администратор)). - Введите команду:
msg * /SERVER:имя_сервера "Текст вашего сообщения"Гдеимя_сервера— это имя или IP-адрес вашего терминального сервера. - Нажмите
Enter.
Например, чтобы оповестить о перезагрузке через 10 минут, используйте:
msg * /SERVER:192.168.1.100 "Внимание! Сервер будет перезагружен через 10 минут. Сохраните данные."
Если имя сервера не указано, команда отправит сообщение всем пользователям локального компьютера. Для терминального сервера это не подходит — всегда указывайте /SERVER.
Использование для рассылки уведомлений
PowerShell даёт больше возможностей для управления терминальными сессиями. В Windows Server 2019 можно использовать cmdlet Send-RDUserMessage из модуля RemoteDesktop.
Перед использованием убедитесь, что модуль установлен. Если нет, подключите его:
Import-Module RemoteDesktop
Чтобы отправить сообщение всем активным пользователям, выполните:
Send-RDUserMessage -ConnectionBroker "имя_сервера" -Message "Текст сообщения" -Title "Заголовок"
Пример:
Send-RDUserMessage -ConnectionBroker "RDS-SRV-01" -Message "Сервер будет обновлён. Пожалуйста, завершите работу." -Title "Предупреждение"
Если модуль RemoteDesktop недоступен, используйте альтернативу через query user и msg:
- Получите список активных сессий:
query user /SERVER:имя_сервера - Отправьте сообщение каждому пользователю вручную:
msg username /SERVER:имя_сервера "Текст сообщения"
PowerShell позволяет отправлять сообщения с заголовком и поддерживает работы с удалёнными серверами через параметр -ConnectionBroker.
Отправка через графический интерфейс
Если вы предпочитаете работать через графический интерфейс, в Windows Server 2019 можно использовать Управление сервером (Server Manager).
Пошаговая инструкция:
- Откройте
Управление серверомчерез меню Пуск или панель задач. - Перейдите в раздел
Службы удалённых рабочих столов → Обзор → Сеансы. - В правой части окна вы увидите список активных сессий пользователей.
- Выделите нужных пользователей (или нажмите
Ctrl + A, чтобы выбрать всех) и кликните правой кнопкой. - Выберите
Отправить сообщение. - Введите текст сообщения и заголовок, затем нажмите
Отправить.
Этот способ удобен тем, что позволяет визуально увидеть, какие пользователи активны, и выбрать только часть из них. Однако он требует доступа к графическому интерфейсу сервера.
| Преимущества | Недостатки | Когда использовать |
|---|---|---|
| Визуальный контроль сессий | Требует доступа к GUI | Для ручной рассылки на локальном сервере |
| Выборочная отправка сообщений | Не подходит для автоматизации | При необходимости оповестить только часть пользователей |
| Простота использования | Меньше возможностей по сравнению с PowerShell | Для новичков или разовых задач |
Автоматизация отправки сообщений
Если вам нужно регулярно отправлять сообщения (например, напоминания о перезагрузке), можно автоматизировать процесс с помощью PowerShell и Задач планировщика.
Пример скрипта для отправки сообщения в 20:00 каждый день:
Send-RDUserMessage -ConnectionBroker "RDS-SRV-01" -Message "Сервер будет перезагружен через 1 час." -Title "Напоминание"
Чтобы настроить автоматизацию:
- Откройте
Планировщик задач(taskschd.msc). - Создайте новую задачу (
Создать задачу). - Укажите триггер (например, ежедневно в 20:00).
- В действии выберите
Запуск программыи укажите путь кpowershell.exe. - В аргументах укажите путь к вашему скрипту или команду напрямую:
-Command "Send-RDUserMessage -ConnectionBroker 'RDS-SRV-01' -Message 'Сервер будет перезагружен через 1 час.' -Title 'Напоминание'"
Как проверить, что сообщение дошло до пользователей
Пользователи увидят всплывающее окно с вашим сообщением. Если окно не появляется, проверьте: 1) правильно ли указано имя сервера; 2) есть ли у пользователя права на получение сообщений; 3) не блокирует ли групповой политикой уведомления.
Отправка сообщений через веб-портал (если настроен)
Если у вас настроен Remote Desktop Web Access (RD Web), пользователи могут подключаться к терминальному серверу через браузер. В этом случае отправка сообщений через веб-портал не поддерживается напрямую, но вы можете:
- Отправить сообщение через стандартные методы (
msg, илиУправление сервером). - Настроить отображение уведомлений на странице веб-портала через кастомизацию (требует знаний HTML/JavaScript).
Для большинства задач хватит стандартных инструментов Windows Server 2019.
Проверка перед отправкой сообщения
Часто задаваемые вопросы
Можно ли отправить сообщение только определённому пользователю?
Да. В командной строке используйте msg username /SERVER:имя_сервера "Текст" вместо *. В укажите имя пользователя в параметре -UserName. В графическом интерфейсе выберите нужного пользователя в списке сессий.
Почему пользователи не получают мои сообщения?
Возможные причины: неверное имя сервера, недостаточно прав, групповой политикой отключены уведомления, пользователи подключены через другой сервер. Проверьте настройки и права доступа.
Можно ли отправить сообщение с отложенной отправкой?
Да, через Планировщик задач. Создайте задачу, которая запускает скрипт или команду msg в указанное время.
Есть ли ограничения на длину сообщения?
Да. Утилита msg поддерживает сообщения длиной до 255 символов. В ограничений нет, но слишком длинные сообщения могут не удобно отображаться у пользователей.