Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ Виртуальные машины Windows
В этой статье описывается устранение неполадок подключения к виртуальной машине Azure, когда службы удаленных рабочих столов (TermService) не запускаются или их запуск завершается ошибкой.
Симптомы
При попытке подключиться к виртуальной машине возникают следующие сценарии:
Снимок экрана виртуальной машины: операционная система полностью загружена и ожидает учетные данные.
Вы удаленно просматриваете журналы событий в виртуальной машине c помощью средства "Просмотр событий". Вы увидите, что службы удаленных рабочих столов (TermService) не запускаются или происходит сбой запуска. Ниже приведен пример журнала:
Имя журнала: System
Source: Service Control Manager
Date: 12/16/2017 11:19:36 AM
Event ID: 70222
Task Category: None Level: None
Level
: Classic User: Classic
User: N/A
Computer: vm.contoso.com
Description: Служба служб удаленных рабочих столов висела при запуске.Кроме того, доступ к этим ошибкам можно получить через консоль последовательного доступа с помощью следующего запроса:
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Service Control Manager'] and EventID=7022 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
Причина
Эта проблема возникает, потому что службы удаленных рабочих столов не запущены на виртуальной машине. Причина может быть в следующем:
- Служба TermService отключена.
- Служба TermService завершает работу или не отвечает.
- TermService не запускается из-за неправильной конфигурации.
Решение
Чтобы устранить эту проблему, используйте последовательную консоль. Вы также можете восстановить виртуальную машину в автономном режиме при подключении диска ОС к виртуальной машине восстановления.
Использование последовательной консоли
Откройте последовательную консоль, выбрав Поддержка и устранение неполадок>Последовательная консоль. Если эта функция включена на виртуальной машине, вы сможете успешно подключиться к виртуальной машине.
Создайте канал для экземпляра командной строки. Введите CMD, чтобы запустить канал и получить имя канала.
Переключитесь на канал, который запускает экземпляр CMD. В нашем случае это должен быть канал 1:
ch -si 1
Еще раз нажмите клавишу ВВОД и введите допустимое имя пользователя и пароль, локальный или доменный идентификатор для виртуальной машины.
Запросите состояние службы TermService:
sc query TermService
Если отображается состояние службы Остановлена, попытайтесь запустить службу:
sc start TermService
Запросите службу еще раз, чтобы убедиться, что она успешно запущена:
sc query TermService
Если служба не запускается, выполните поиск решения на основе полученного сообщения об ошибке:
Ошибка Предложение 5 — ACCESS DENIED Ознакомьтесь с разделом Служба TermService остановлена из-за ошибки отказа в доступе. 1053 — ERROR_SERVICE_REQUEST_TIMEOUT Ознакомьтесь с разделом Служба TermService отключена. 1058 — ERROR_SERVICE_DISABLED Ознакомьтесь с разделом Происходит сбой службы TermService сбоя или она зависает. 1059 — ERROR_CIRCULAR_DEPENDENCY Свяжитесь со службой поддержки, чтобы быстро решить проблему. 1067 — ERROR_PROCESS_ABORTED Ознакомьтесь с разделом Происходит сбой службы TermService сбоя или она зависает. 1068 — ERROR_SERVICE_DEPENDENCY_FAIL Свяжитесь со службой поддержки, чтобы быстро решить проблему. 1069 — ERROR_SERVICE_LOGON_FAILED Ознакомьтесь с разделом Происходит сбой службы TermService из-за ошибки входа в систему. 1070 — ERROR_SERVICE_START_HANG Ознакомьтесь с разделом Происходит сбой службы TermService сбоя или она зависает. 1077 — ERROR_SERVICE_NEVER_STARTED Ознакомьтесь с разделом Служба TermService отключена. 1079 — ERROR_DIFERENCE_SERVICE_ACCOUNT Свяжитесь со службой поддержки, чтобы быстро решить проблему. 1753 Свяжитесь со службой поддержки, чтобы быстро решить проблему.
Служба TermService остановлена из-за отказа в доступе
Подключитесь к последовательной консоли и откройте экземпляр PowerShell.
Скачайте средство мониторинга процессов, выполнив следующий сценарий:
remove-module psreadline $source = "https://download.sysinternals.com/files/ProcessMonitor.zip" $destination = "c:\temp\ProcessMonitor.zip" $wc = New-Object System.Net.WebClient $wc.DownloadFile($source,$destination)
Далее запустите трассировку procmon:
procmon /Quiet /Minimized /BackingFile c:\temp\ProcMonTrace.PML
Воспроизведите проблему, запустив службу, которая выдает ошибку отказа в доступе:
sc start TermService
Когда запуск завершится ошибкой, остановите трассировку Process Monitor:
procmon /Terminate
Соберите файл c:\temp\ProcMonTrace.PML:
- Подключение диска данных к виртуальной машине.
- С помощью последовательной консоли можно скопировать файл на новый диск. Например,
copy C:\temp\ProcMonTrace.PML F:\
. В этой команде F является буквой подключенного диска данных. - Отключите диск данных и подключите его на работающей виртуальной машине, на которой установлено средство ubstakke Process Monitor.
Откройте ProcMonTrace.PML с помощью Process Monitor рабочей виртуальной машины. Затем фильтр по результату — ACCESS DENIED, как показано на следующем снимке экрана:
Исправьте разделы реестра, папки или файлы, которые включены в выходные данные. Обычно эта проблема возникает, если у учетной записи, использованной для входа в систему, нет разрешения ACL на доступ к этим объектам. Чтобы узнать правильное разрешение в ACL для учетной записи, используемой для входа в систему, просмотрите данные на исправной виртуальной машине.
Служба TermService отключена
Восстановите параметр запуска службы по умолчанию:
sc config TermService start= demand
Запустите службу:
sc start TermService
Выполните запрос состояния еще раз, чтобы убедиться, что служба запущена:
sc query TermService
Попробуйте подключиться к виртуальной машине с помощью удаленного рабочего стола.
Сбой службы TermService из-за ошибки входа в систему
Эта проблема возникает, если запускаемая учетная запись этой службы была изменена. Изменить ее на учетную запись по умолчанию:
sc config TermService obj= 'NT Authority\NetworkService'
Запустите службу:
sc start TermService
Попробуйте подключиться к виртуальной машине с помощью удаленного рабочего стола.
Происходит сбой службы TermService сбоя или она зависает
Если служба зависла в состоянии Запуск илиОстановка, попробуйте остановить службу:
sc stop TermService
Изолируйте службу в собственном контейнере svchost.
sc config TermService type= own
Запустите службу:
sc start TermService
Если службу по-прежнему не удается запустить, обратитесь в службу поддержки.
Автономное восстановление виртуальной машины
Подключите диск ОС к виртуальной машине восстановления.
Установите подключение с помощью удаленного рабочего стола к виртуальной машине, используемой для восстановления. Убедитесь, что в консоли "Управление дисками" для подключенного диска отображается состояние Подключен. Запишите или запомните букву диска, которая присвоена подключенному диску ОС.
Откройте командную строку с повышенными привилегиями (Запуск от имени администратора). Затем выполните следующий сценарий. Предположим, что буква диска, назначенная подключенному диску ОС, — F. Замените его соответствующим значением в виртуальной машине.
reg load HKLM\BROKENSYSTEM F:\windows\system32\config\SYSTEM REM Set default values back on the broken service reg add "HKLM\BROKENSYSTEM\ControlSet001\services\TermService" /v start /t REG_DWORD /d 3 /f reg add "HKLM\BROKENSYSTEM\ControlSet001\services\TermService" /v ObjectName /t REG_SZ /d "NT Authority\NetworkService“ /f reg add "HKLM\BROKENSYSTEM\ControlSet001\services\TermService" /v type /t REG_DWORD /d 16 /f reg add "HKLM\BROKENSYSTEM\ControlSet002\services\TermService" /v start /t REG_DWORD /d 3 /f reg add "HKLM\BROKENSYSTEM\ControlSet002\services\TermService" /v ObjectName /t REG_SZ /d "NT Authority\NetworkService" /f reg add "HKLM\BROKENSYSTEM\ControlSet002\services\TermService" /v type /t REG_DWORD /d 16 /f
Отключение диска операционной системы и повторное создание виртуальной машины. Затем проверьте, устранена ли проблема.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.