Удаление неактивных портов TS на RDS ферме при ошибке ID 7011

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз я вам подробно рассказал, как сделать из Windows 10 терминальный сервер, позволяющий одновременно работать, большому количеству людей. Сегодня я хочу вам рассказать, что вы еще можете оптимизировать на свой RDS ферме, чтобы она могла работать стабильно, без зависаний и без проблем с поврежденными профилями. В данной заметке расскажу, что такое неактивные порты TS, мы рассмотрим причины и решение ошибки «Превышение времени ожидания (240000 мс) при ожидании ответа транзакции от службы UmRdpService«. Думаю, что мой опыт оптимизации вам окажется полезен.
Описание проблемы на сервере RDSH
И так, есть RDS ферма HA. На одном из серверов удаленного подключения (RDSH) появляется несколько ошибок:
Ошибка в журнале системы: ID 7011 «Превышение времени ожидания (240000 мс) при ожидании ответа транзакции от службы «ScDeviceEnum»

Ошибка в журнале системы: ID 7011: Превышение времени ожидания (240000 мс) при ожидании ответа транзакции от службы «UmRdpService»

Ошибка в журнале системы: ID 7011: Превышение времени ожидания (240000 мс) при ожидании ответа транзакции от службы «NcbService»

- TDI Driver vnetflt не сертифицирован
- При попытке произвести выход из системы, это не давало ни каких результатов, сессия пользователя продолжала висеть как активная.
- Не получалось сбросить терминальную сессию пользователя
- Зависала виртуальная машина
- Повреждение профиля пользователя, и последующая работа с временным профилем
- Уменьшение скорости работы сервера
Как найти и удалить неактивные порты TS
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\\##?#ROOT#RDPBUS#0000#

Как видите в моем пример, тут огромное количество старых, не актуальных записей #TS001 и так далее, вплоть до #TS991. Обратите внимание, на ключ реестра Port Description и его значение Inactive TS Port, которое явно ссылается, на что-то чего уже нет. Вот из-за такой захламленности RDS ферма может работать не так эффективно и стабильно. В ветке обсуждения на Microsoft, так же обсуждалась проблема долгого времени входа в систему при установке сеанса удаленного рабочего стола на сервере RDS фермы.
Эта проблема возникает из-за того, что служба перенаправления устройств служб удаленных рабочих столов создает новый порт каждый раз, когда устанавливается сеанс удаленного рабочего стола. Однако неактивные порты не перерабатываются. Вместо этого неактивные порты для перенаправленных принтеров накапливаются в следующем разделе реестра на сервере
Скачать InactiveTSPortList.exe и DeleteInactivePortSilently.exe можно у меня с сайта или у автора данной утилиты https://archive.codeplex.com/?p=inactivetsport
Открываем командную строку от имени администратора и переходим в расположение утилиты через команду cd и путь. Вводим команду для вызова справки утилиты InactiveTSPortList.exe.
InactiveTSPortList.exe /?
Как видим есть два ключа:
- InactiveTSPortList /r — показывает список неактивных TS портов в системе
- InactiveTSPortList /d — удаляем все неактивные TS порты от перенаправляемых устройств

Для начала я вывожу список всех неактивных портов, пишем InactiveTSPortList /r. как видите получился внушительный список.

Теперь удаляем все неактивные порты, если боитесь, то можете до этого произвести экспорт данной ветки, на случай восстановления реестра. вводим InactiveTSPortList /d и видим, что записи, типа #TS991 will be deleted удалены.

Проверим еще раз наличие проблемных, мусорных записей и видим. что у меня уже нет «Inactive TS Port«.

Проверяем наш куст реестра и видим, что все чисто
HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\\##?#ROOT#RDPBUS#0000#

далее для ошибки «Превышение времени ожидания (240000 мс) при ожидании ответа транзакции от службы UmRdpService, NcbService, ScDeviceEnum» компания Microsoft советует создать один ключ реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Находим тут ключ ServicesPipeTimeout, если его нет, то создаем REG-DWORD. В моем примере стоит сейчас значение 240000, я увеличу его до 6 секунд. это 60000

После внесения изменений в ключ реестра ServicesPipeTimeout вам необходимо перезагрузить систему
Еще я вам советую отключить параметры сетевого интерфейса:
- netsh int tcp show global — Смотрим текущее состояние
- netsh int tcp set global chimney=disabled
- netsh int ip set global taskoffload=disabled
- netsh int tcp set global rss=disabled (Под вопросом)

Так же не забываем в командной строке выполнить по очереди три команды, по выявлению проблем с целостностью системных файлов и ошибок на диске.
- sfc / scannow после
- Dism /online /cleanup-image /restorehealth
- и затем ChkDsk /r, потом перезагрузка

Могу посоветовать вам два скрипта по оптимизации и удалению мусора с RDS фермы, от практически моего земляка из города Бор
- www.sysengineering.ru/blog/servers-скрипт-обслуживания-сервера-rds-версия-2/
- www.sysengineering.ru/administration/rds-server-mainteinance-script/
На этом у меня все, мы с вами научились удалять старые записи от перенаправляемых устройств на RDS ферме (Удаление неактивных портов TS), научились исправлять ошибку с кодом ID 7011 Превышение времени ожидания (240000 мс) при ожидании ответа транзакции от службы UmRdpService«. Наладили работу RDS фермы. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Популярные Похожие записи:
При подключении по rdp черный экран рабочего стола
Ошибка the property session directory location is configured by using group policy
Ошибка The number of connections to this computer is limited
Не удалось назначить SPN учетной записи, ошибка 0x21c7/8647
Ошибка RDS: Cannot get role and feature data- Ошибка активации 0xC004F034 на KMS сервере
Перезапуск службы RDP

CMD
Автор Hodogor На чтение 2 мин Просмотров 5.2к. Опубликовано 11.12.2020
Перезапускаем службу RDP на удаленном компьютере с помощью команды SC
Задача перезагрузить службу, но доступ на компьютер есть только у администратора более нижнего уровня. RDP не работает, выходит ошибка подключения.
Решает проблему перезапуск службы.
Было выдвинуто несколько решений этой проблемы. Одно из них использовать перезапуск службы через команду SC.
Так как учетные записи совпадают по паре логин\пароль и правам доступа, то проблем с использованием консоли не должно возникать.
Решение :
1. Останавливаем службу Удаленных рабочих столов
sc \\192.168.111.10 stop UmRdpService
sc \\192.168.111.10 stop TermService
2. Запускаем службу
sc \\192.168.111.10 start UmRdpService
Перезапуск службы через утилиту Psservice
PsService — это средство просмотра служб и контроллер для Windows. Как и служебная программа SC, включенная в наборы ресурсов Windows NT и Windows 2000, PsService отображает состояние, конфигурацию и зависимости службы, а также позволяет запускать, останавливать, останавливать, возобновлять и перезапускать их. В отличие от служебной программы SC , PsService позволяет выполнять вход в удаленную систему с помощью другой учетной записи, если у учетной записи, из которой она выполняется, нет необходимых разрешений на удаленную систему. PsService включает уникальную функцию поиска служб, которая определяет активные экземпляры службы в сети.
PsService.exe
PsService64.exe
Установка
Просто скопируйте PsService в исполняемый путь и введите psservice.
Использование: psservice [\\computer [-u username] [-p password]] <>
Например для перезапуска службы IP Helper, нужно выполнить команду:
psservice \\127.0.0.1 restart iphlpsvc
| Параметр | Описание |
|---|---|
| query | Отображает состояние службы. |
| config | Отображает конфигурацию службы. |
| setconfig | Задает тип запуска (отключенный, автоматический, спрос) службы. |
| start | Запускает службу. |
| stop | Останавливает службу. |
| restart | Перезапуск службы |
| pause | Приостановка службы |
| cont | Возобновляет приостановленную службу. |
| depend | Выводит список служб, зависящих от указанного. |
| security | Дамп дескриптора безопасности службы. |
| find | Выполняет поиск по сети для указанной службы. |
| \\computer | Предназначено для указанной системы NT/Win2K. Включите параметр -u с именем пользователя и паролем для входа в удаленную систему, если учетные данные безопасности не позволяют получить сведения о счетчике производительности из удаленной системы. Если указать параметр -u, но не пароль с параметром -p, PsService предложит ввести пароль и не будет повторять его на экране. |
Umrdpservice что это за служба
Доброго дня!
История такая, терминальный сервер Windows 2012 R2, на днях происходили отключения электричества, причем складывалось так, что сервер не успевал загрузиться, а свет снова вырубался (про отсутствие ИБП), отдельная тема. В итоге сервер начал «глючить».
Сделал по классике chkdsk, ошибки были исправлены, потом sfc/scannow, ошибки были исправлены.
Но при открытии «Устройства и принтеры» все зависает, при подключении по RDP в логах начинаются появляться ошибки :
«UxSms», «UmRdpService», «WPDBusEnum» и «Netman» службы с ошибкой «Превышение времени ожидания (30000 мс) при ожидании ответа транзакции от службы»
Удалил уже все мертвые порты TS* через реестр, перепробовал кучу советов, пока никаких результатов.
При отключении службы «Диспетчер печати», сервер работает штатно без каких либо ошибок в логах.
Что можно еще сделать ?
Включить звук и микрофон в RDP сессии
В этой статье, мы покажем, как сконфигурировать перенаправление микрофона и аудио в RDP сессии.
По умолчанию при использовании удаленного рабочего стола Windows вы не можете использовать свой микрофон для записи звука в программах, запущенных на удаленном компьютере в терминальной (RDP/RDS) сессии. Если вам нужно, чтобы ваш микрофон мог передавать звук в приложение (Teams, Skype, и т.д.), установленное на удаленном хосте, вам нужно проверить настройки как на стороне клиента, так и сервера.
Если открыть вкладку Recording в настройках звука на удаленном рабочем столе, там скорее всего будет надпись:
No audio devices are installed

Включить поддержку проброса аудиоустройств на RDP/RDS сервере
Сначала нужно сконфигурировать удаленный компьютер Windows для корректной работы аудиоустройств в Remote Desktop сессии.

-
Проверьте, что на RDP сервере и на клиенте установлена и запущена служба Windows Audio. Проверить что служба работает можно с помощью PowerShell: get-service Audiosrv Также проверьте, что запущена служба Remote Desktop Services UserMode Port Redirector (UmRdpService).
В Windows Server служба Audiosrv по умолчанию отключена.

Затем измените настройки параметра «Do not allow supported Plug and Play device redirection» на Disabled.Обновите настройки GPO командой: gpupdate /force . Перезапустите службу TermService (Remote Desktop Services);
Настраиваем проброс локального микрофона в RDP сессию
Теперь нужно проверить настройки RDP клиента и включить проброс микрофона.
Если вы используется для подключения к RDP стандартный клиент mstsc.exe, проверьте его настройки. Нажмите на кнопку Show Options, перейдите на вкладку Local Resources, в секции Remote audio нажмите на кнопку Settings. В Remote audio recording измените настройки с Do not record на Record from this computer.

Если после этого в RDP сессии появился звук, но запись звука не работает, создайте в ветке реестра HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp параметр типа DWORD с именем fDisableAudioCapture и значением 0.
Теперь подключитесь к удаленному рабочему столу. Убедитесь, что в секции Sound панели управления на вкладке Recording указано, что устройство Remote Audio используется по умолчанию для записи звука.

При попытке открыть меню Sound Settings может появится уведомление:
Audio Your privacy settings blocked access to the microphone.

Это частая проблема на Windows Server 2019 RDS, когда звук есть, а устройство записи (микрофон) не работает. Это связано с тем, что настройках конфиденциальности профиля пользователя на сервере по умолчанию запрещают использование микрофона приложениями.
В этом случае откройте Settings -> Privacy -> Microphone и включите опцию Allow apps to access your microphone.

Если приложение опубликована на удаленном рабочем столе Windows Server RDS в виде RemoteApp, вам нужно отредактировать .rdp файл, использующийся для подключения. Добавьте в него следующие строки:
audiocapturemode:i:1 audiomode:i:0
- Audiocapturemode = 1 — включает запись звука с локального микрофона и передачу его в удаленный сеанс
- Audiomode = 0 – воспроизводить звуки из RDP сеанса на локальном компьютере
После этого проброс микрофона станет доступен как в полноценных RDP сессиях, так и в RDS RemoteApp. Не забудьте выбрать данный Remote Audio микрофон в качестве основного источника звука в ваших приложениях на RDP хосте.
Проброс звука с удаленного рабочего стола Windows
Запустите ваш RDP клиент (mstsc.exe), перейдите на вкладку Advanced -> Remote Audio -> Settings.
В секции Remote Audio Playback доступны три режима:
- Play on this computer
- Do not play
- Play on remote computer
Чтобы звук с RDS хоста воспроизводился на вашем локально компьютере, выберите первую опцию.

Подключитесь к RDP хосту. Откройте настройки звука (Панель управления -> Оборудование -> Звук).
Если на вкладке Playback указано No audio device installed, проверьте что на удаленном хосте запущена служба Windows Audio.

Откройте диспетчер устройств и проверьте, что в секции Audio inputs and outputs есть активное устройство Remote Audio. Устройство должно быть включено.

Если все, ОК по умолчанию в панели управление звука должно быть выбрано устройство Remote Audio.

Чтобы улучшит качество звука, включите параметра GPO Limit audio playback quality и установите Audio Quality = High.

При использовании виртуальных машин, RDSH Remote Apps, терминальных решений VMware Horizon или Citrix ICA для корректной работы звука в браузере на основе движка Chromium нужно в реестре отключить параметр Audio Sandbox.
-
Для Google Chrome:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] "AudioSandboxEnabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "AudioSandboxEnabled"=dword:00000000