Службы удаленного рабочего стола заняты в настоящее время

rdp logo

Добрый день! Уважаемые читатели и гости, IT блога Pyatilistnik.org. Я очень часто пишу про всевозможные приколы, косяки и ошибки терминальных служб и просто служб удаленного рабочего стола. В прошлый раз, я вам рассказывал, что делать в ситуациях, когда невозможно загрузить профиль пользователя, так сказать временные профили. Тогда хоть удавалось попадать на сервер, сейчас даже и этого не получается, выскакивает ошибка, что "Задача, которую вы пытаетесь выполнить, не может быть завершена, потому что в настоящее время заняты службы удаленного рабочего стола". Давайте смотреть как решается данная проблема и с чем она связана.

Причины ошибки с занятыми службами RDP

Описываю ситуацию, есть арендованный, виртуальный сервер в vCloud Director. На нем настроен сервер терминалов на и подключены терминальные лицензии. Пользователь пытается подключить к нему, с помощью стандартного средства, окна RDP, но у него выскакивает сообщение об ошибке:

The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log.

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

because Remote Desktop Services is currently busy

Или:

Не удается завершить требуемую операцию, поскольку службы удаленных рабочих столов сейчас заняты

Не удается завершить требуемую операцию, поскольку службы удаленных рабочих столов сейчас заняты

Как видите пользователя отфутболивает и он не может попасть на сервер.

Основные причины такого поведения

  • Первый вариант, это заглючила служба удаленных рабочих столов
  • Сильная загрузка сети на сервере с перемещаемыми профилями
  • Проблема с профилем пользователя. Эта проблема возникает из-за проблемы синхронизации в службе профиля пользователя (profsvc) между рабочим потоком и основной служебной программой. Когда служба профиля пользователя останавливается, служба может быть занята, пытаясь очистить профили.
  • Проблема с процессом csrss.exe. Эта проблема возникает из-за ситуации взаимоблокировки, которая возникает между процессом Csrss.exe и некоторыми приложениями (например, Microsoft Excel или Microsoft Visio).
  • Системе может не хватать ресурсов на подключение, их может выедать, все та же IIS, которую нужно ограничивать.
  • Проверьте наличие свободного места на диске C:\, видел и такое.

rdp закончилось место

Давайте разбираться, что нужно делать в такой ситуации.

Методы решения ошибки входа по RDP

И так, если вы все же словили ошибку "The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log", то не спешите расстраивается, она сто процентов решается, все только измеряется конечным результатом. В моем случае, виртуальная машина использовалась для разработки, поэтому ее использовали несколько человек.

  • Если у вас есть физический, консольный или удаленный доступ к серверу, то зайдите на него и попробуйте разлогинить, того пользователя, кто испытывает трудности при входе. Для этого вы заходите в диспетчер задач, переходите на вкладку пользователи, где находите нужного вам. Выбираете его, щелкаете правым кликом и делаете "Выход из системы (Log off)". В большинстве случаев, этого достаточно, но не в моем. В диспетчере задач, я обнаружил странного пользователя с именем (4) или (5). У данного пользователя с ником (4) или (5), было открыто 4 процесса:
  1. Client Server Runtime Process
  2. Desktop Windows Manager
  3. Windows Logon Application
  4. Windows Logon User Interface

Мои попытки разлогинить его из диспетчера зада, оказались бесполезными. Я такое встречал уже, и видел когда было много таких пользователей (4), все решалось перезагрузкой сервера, лечилось на 100%, но в моем случае так как сервер использовался многими сотрудниками, то его трогать было нельзя, ищем другие варианты.

Службы удаленного рабочего стола заняты в настоящее время-01

Логин пользователя (5)

query session

Она покажет всех залогиненных пользователей в терминальном сервере, обратите внимание, что тут так же есть пользователь (4), нас в данной выдаче интересует поле ID, это идентификатор пользователя. Он нам потребуется, чтобы грохнуть процесс csrss.exe, для конкретного пользователя. В моем случае ID 48.

Службы удаленного рабочего стола заняты в настоящее время-02

Далее в командной строке, выполните команду:

query process /id48 (подробнее https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/query-process)

у вас будут выведены, все процессы, которые запущены из под данного пользователя, нас будет интересовать csrss.exe и его PID.

Службы удаленного рабочего стола заняты в настоящее время-03

Далее нужно свериться по диспетчеру задач, с этим PID, для этого на вкладке процессы, щелкните правым кликом по любому из столбцов и добавьте колонку PID.

Службы удаленного рабочего стола заняты в настоящее время-04

В появившейся колонке PID,найдите нужный нам, в моем случае, это PID 26980, он соответствует процессу csrss.exe, пробуем его отключить, в диспетчере задач. По идее, это должно помочь устранить ошибку подключения "Задача, которую вы пытаетесь выполнить, не может быть завершена, потому что в настоящее время заняты службы удаленного рабочего стола. Попробуйте повторить попытку, через несколько минут. Остальные пользователи, по прежнему смогут логиниться на сервер".

Службы удаленного рабочего стола заняты в настоящее время-05

  • Убить все процессы можно и через taskkill или rwinsta

Еще можно попытаться убить сессию пользователя командой reset session {<SessionName> | <SessionID>} [/server:<ServerName>] [/v] (Подробнее https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/reset-session)

  • Если, этот метод вам не помог, то в некоторых случаях, с виртуальными машинами помогает вариант отключения и включения доступа по RDP

включение и отключение RDP

  • Если, это не помогло и перезагрузка невозможна, попробуйте в случае с виртуальной машиной, произвести перезапуск службы удаленных рабочих столов. Надеюсь вам удалось решить проблему подключения "The task you are trying to do can't be completed because Remote Desktop Services is currently busy. Please try again in a few minutes. Other users should still be able to log" и вы продолжили работу.

Проверка загрузки сети и процессора

Так как при создании моей RDS HA фермы я применял концепцию перемещаемых профилей, не буду спорить, хорошо это или плохо, у каждого свое видение. Данная вариация хранит все пользовательские профили на выделенном сервере, в моем случае DFS HA сервера и при подключении пользователя к RDSH хосту идет загрузка этого профиля по сети. У меня это канал 10 ГБ и при нагрузке в 1100 человек я не испытываю проблем в час пик.

Но в один из дней стали поступать массовые сообщения, о проблеме со входом и формулировкой "Службы удаленного рабочего стола заняты в настоящее время". Я пошел в систему мониторинга, чтобы проверить нагрузку на сервер хранящий и передающий перемещаемые профили. В итоге увидел вот такую картину. В диспетчере задач мой сетевой интерфейс скушал все 10 ГБ/с. В оснастке "Монитор ресурсов" я увидел, что идет массовое скачивание перемещаемых профилей.

Сильная загрузка сетевого интерфейса

В Zabbix я отчетливо видел, что с 9 утра, когда пользователи ринулись на работу, сетевой интерфейс на сервере был забит на 100%

График в Zabbix по высокой нагрузке сетевого интерфейса

Так же привлекла высокая нагрузка на процессор (CPU), она была под 100%, что очень плохо.

График высокой нагрузки CPU в Zabbix

Посмотрев процессы на сервере я увидел старого знакомого, антивирус Касперского, который после обновления агента просто скушал все процессорные мощности, после его деактивации, все пользователи успешно зашли на терминал. Получилось, что после обновления агента Касперского, он начал создавать новый индекс файлов, что есть на сервере, где он установлен. Вот график после его отключения.

Высокая нагрузка на CPU и сеть после касперского

С вами был Иван Семин, автор и создатель блога Pyatilistnik.org.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. Jack

    Помогло отключение и повторное разрешение «удаленных подключений к этому компьютеру», но только на один раз, в следующий раз проблема повторилась

  2. Павел

    Это решение следствия, а не причины. Увы….

  3. Adminny

    Вот возможное решение проблемы/
    Включаете эту политку и установите 1 минуту
    Windows Components/Remote Desktop Services/Remote Desktop Session Host/Connections
    Configure keep-alive connection interval