Гайд по проверке работы службы удалённых рабочих столов (RDP) и мониторингу сессий
Предварительные требования
Перед началом проверки убедитесь, что на целевом сервере (или ПК с Windows Pro/Enterprise) выполнены следующие условия:
- Служба RDP включена.
- Созданы минимум две учётные записи (например,
User1иUser2). - Обе учётные записи добавлены в группу «Пользователи удалённого рабочего стола» (Remote Desktop Users) или имеют права администратора.
- В брандмауэере Windows разрешён порт 3389 (TCP).
Шаг 1. Подготовка и подключение по RDP
1. Подключение первой учётной записи:
- На клиентском ПК нажмите
Win + R, введитеmstscи нажмите Enter. - Введите IP-адрес сервера.
- Авторизуйтесь под User1.
- Не закрывайте сессию, просто сверните окно или оставьте как есть.
2. Подключение второй учётной записи:
- С другого клиентского ПК (или с этого же, но через виртуальную машину/другой RDP-клиент) снова откройте
mstsc. - Подключитесь к тому же серверу, но авторизуйтесь под User2.
- Примечание: В отличие от локального входа, RDP позволяет нескольким пользователям работать параллельно в разных сессиях.
Шаг 2. Проверка сессий через командную строку
Теперь перейдём к серверу (или подключимся к нему по RDP под учёткой администратора), чтобы проверить, как система видит эти сессии.
- Нажмите
Win + R, введитеcmdи нажмите Ctrl + Shift + Enter (или найдите «Командная строка» в меню Пуск и выберите «Запуск от имени администратора»).
Важно:
Если запустить CMD от имени обычного пользователя, вы увидите только свою сессию. Для просмотра всех сессий нужны права администратора.
2. Введите команду:
qwinsta
(Также работает синоним query session)
Шаг 3. Анализ вывода команды qwinsta
После выполнения команды вы увидите таблицу.
Вот подробная расшифровка её столбцов:
ИМЯ СЕССИИ ИД СТАТУС ТИП УСТРОЙСТВО
services 0 Disc
console 1 Конс
rdp-tcp Прослушка
rdp-tcp#0 2 Активен rdpwd
rdp-tcp#1 3 Активен rdpwd
Как читать статусы (СТРАТУС / STATE):
* Прослушка (Listen):
Это «слушатель» RDP. Он просто ожидает новых подключений на порту 3389. Это нормально, их должно быть как минимум одно (обычно rdp-tcp).
* Активен (Active):
Сессия, в которой пользователь прямо сейчас работает (экран развёрнут). В вашем случае вы должны увидеть две строки со статусом «Активен» для User1 и User2.
* Отключен (Disc / Disconnected):
Пользователь был подключён, но нажал «Закрыть» в окне RDP или потерял связь, не завершив сеанс в Windows. Сессия висит в памяти, программы работают.
* Консоль (Console):
Это локальная сессия (физический монитор и клавиатура, подключённые к серверу).
Как читать ИД (ID):
Это уникальный номер сессии. Он понадобится вам, если вы захотите принудительно завершить «зависшую» сессию (см. бонус ниже).
Шаг 4. Дополнительные полезные команды для Дениса Сергеевича
Для более удобной работы с сессиями рекомендую взять на вооружение ещё несколько команд:
1. Более удобный вывод (только пользователи):
quser
(Синоним query user). Эта команда показывает только реальных пользователей, отсеивая системные фоновые процессы. Вывод будет чище.
2. Принудительное завершение зависшей сессии:
Если пользователь «Отключен» (Disc) и его сессия «зависла», мешая ему переподключиться, вы можете её убить.
Смотрите ИД сессии в выводе qwinsta (например, ID = 3) и выполняете:
rwinsta 3
(Или logoff 3). Сессия будет принудительно закрыта, а все программы пользователя в ней — завершены.
3. Отправка сообщения пользователю в его RDP-сессию:
Если нужно написать пользователю прямо на его удалённый рабочий стол:
msg /server:localhost 3 "Денис Сергеевич: Сервер будет перезагружен через 10 минут, сохраните данные!"
(Где 3 — это ID сессии пользователя).
Возможные проблемы при проверке
1. Команда qwinsta не распознаётся:
- Убедитесь, что вы используете Windows Server или Windows Pro/Enterprise. В Windows Home (Домашняя) служба RDP-хоста отсутствует, и команда может не работать.
- Проверьте переменную среды
PATH(обычно утилиты лежат вC:\Windows\System32).
2. Вы не видите сессии других пользователей:
- Вы забыли запустить командную строку от имени Администратора. Обычный пользователь по соображениям безопасности не может видеть чужие сессии.
3. При подключении второго пользователя первый «выкидывается»:
- Это означает, что на сервере настроено ограничение на одно одновременное RDP-подключение (через групповые политики или это Windows Pro без обходных путей, хотя в актуальных версиях Windows 10/11 Pro и Windows Server по умолчанию поддерживают множественные сессии для разных пользователей). Проверьте политику: Ограничить количество одновременных подключений к удалённым рабочим столам.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.