Как отправить сообщение всем пользователям терминального сервера 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). Чтобы отправить сообщение всем пользователям терминального сервера, выполните:

  1. Откройте командную строку от имени администратора (Win + X → Командная строка (администратор)).
  2. Введите команду: msg * /SERVER:имя_сервера "Текст вашего сообщения" Где имя_сервера — это имя или IP-адрес вашего терминального сервера.
  3. Нажмите 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:

  1. Получите список активных сессий: query user /SERVER:имя_сервера
  2. Отправьте сообщение каждому пользователю вручную: msg username /SERVER:имя_сервера "Текст сообщения"

PowerShell позволяет отправлять сообщения с заголовком и поддерживает работы с удалёнными серверами через параметр -ConnectionBroker.

Какой метод вы используете для оповещения пользователей RDS?
Командная строка
PowerShell
Грофический интерфейс
Другой способ

Отправка через графический интерфейс

Если вы предпочитаете работать через графический интерфейс, в Windows Server 2019 можно использовать Управление сервером (Server Manager).

Пошаговая инструкция:

  1. Откройте Управление сервером через меню Пуск или панель задач.
  2. Перейдите в раздел Службы удалённых рабочих столов → Обзор → Сеансы.
  3. В правой части окна вы увидите список активных сессий пользователей.
  4. Выделите нужных пользователей (или нажмите Ctrl + A, чтобы выбрать всех) и кликните правой кнопкой.
  5. Выберите Отправить сообщение.
  6. Введите текст сообщения и заголовок, затем нажмите Отправить.

Этот способ удобен тем, что позволяет визуально увидеть, какие пользователи активны, и выбрать только часть из них. Однако он требует доступа к графическому интерфейсу сервера.

ПреимуществаНедостаткиКогда использовать
Визуальный контроль сессийТребует доступа к GUIДля ручной рассылки на локальном сервере
Выборочная отправка сообщенийНе подходит для автоматизацииПри необходимости оповестить только часть пользователей
Простота использованияМеньше возможностей по сравнению с PowerShellДля новичков или разовых задач

Автоматизация отправки сообщений

Если вам нужно регулярно отправлять сообщения (например, напоминания о перезагрузке), можно автоматизировать процесс с помощью PowerShell и Задач планировщика.

Пример скрипта для отправки сообщения в 20:00 каждый день:

Send-RDUserMessage -ConnectionBroker "RDS-SRV-01" -Message "Сервер будет перезагружен через 1 час." -Title "Напоминание"

Чтобы настроить автоматизацию:

  1. Откройте Планировщик задач (taskschd.msc).
  2. Создайте новую задачу (Создать задачу).
  3. Укажите триггер (например, ежедневно в 20:00).
  4. В действии выберите Запуск программы и укажите путь к powershell.exe.
  5. В аргументах укажите путь к вашему скрипту или команду напрямую: -Command "Send-RDUserMessage -ConnectionBroker 'RDS-SRV-01' -Message 'Сервер будет перезагружен через 1 час.' -Title 'Напоминание'"
Как проверить, что сообщение дошло до пользователей

Пользователи увидят всплывающее окно с вашим сообщением. Если окно не появляется, проверьте: 1) правильно ли указано имя сервера; 2) есть ли у пользователя права на получение сообщений; 3) не блокирует ли групповой политикой уведомления.

Отправка сообщений через веб-портал (если настроен)

Если у вас настроен Remote Desktop Web Access (RD Web), пользователи могут подключаться к терминальному серверу через браузер. В этом случае отправка сообщений через веб-портал не поддерживается напрямую, но вы можете:

  1. Отправить сообщение через стандартные методы (msg, или Управление сервером).
  2. Настроить отображение уведомлений на странице веб-портала через кастомизацию (требует знаний HTML/JavaScript).

Для большинства задач хватит стандартных инструментов Windows Server 2019.

Проверка перед отправкой сообщения

Выполнено: 0 / 4

Часто задаваемые вопросы

Можно ли отправить сообщение только определённому пользователю?

Да. В командной строке используйте msg username /SERVER:имя_сервера "Текст" вместо *. В укажите имя пользователя в параметре -UserName. В графическом интерфейсе выберите нужного пользователя в списке сессий.

Почему пользователи не получают мои сообщения?

Возможные причины: неверное имя сервера, недостаточно прав, групповой политикой отключены уведомления, пользователи подключены через другой сервер. Проверьте настройки и права доступа.

Можно ли отправить сообщение с отложенной отправкой?

Да, через Планировщик задач. Создайте задачу, которая запускает скрипт или команду msg в указанное время.

Есть ли ограничения на длину сообщения?

Да. Утилита msg поддерживает сообщения длиной до 255 символов. В ограничений нет, но слишком длинные сообщения могут не удобно отображаться у пользователей.