Os Serviços de Área de Trabalho Remota não estão iniciando em uma VM do Azure
Este artigo descreve como solucionar problemas quando você se conecta a uma máquina virtual (VM) do Azure e os Serviços de Área de Trabalho Remota, ou TermService, não estão iniciando ou falham ao iniciar.
Sintomas
Ao tentar se conectar a uma VM, você enfrenta os seguintes cenários:
A captura de tela da VM mostra que o sistema operacional está totalmente carregado e aguardando as credenciais.
Você visualiza remotamente os logs de eventos na VM usando o Visualizador de Eventos. Você vê que os Serviços de Área de Trabalho Remota, TermService, não estão iniciando ou falham ao iniciar. O registro a seguir é uma amostra:
Nome do Log: SistemaFonte: Gerenciador de Controle de ServiçoData: 16/12/2017 11:19:36 AMID do evento: 7022Categoria da tarefa: NenhumaNível: ErroPalavras-chave: ClássicoUsuário: N/AComputador: vm.contoso.comDescrição: O serviço Serviços de Área de Trabalho Remota travou ao iniciar.
Você também pode usar o recurso Serial Access Console para procurar esses erros executando a seguinte consulta:
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Service Control Manager'] and EventID=7022 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
Motivo
Esse problema ocorre porque os Serviços de Área de Trabalho Remota não estão sendo executados na VM. A causa pode depender dos seguintes cenários:
- O serviço TermService está definido como Desativado.
- O serviço TermService está travando ou não está respondendo.
- O TermService não está iniciando devido a uma configuração incorreta.
Solução
Para solucionar esse problema, use o console serial. Ou então repare a VM off-line anexando o disco do sistema operacional da VM a uma VM de recuperação.
Usar console serial
Acesse o Console Serial selecionando Suporte e Solução de problemas>Console Serial. Se o recurso estiver habilitado na VM, você poderá conectar a VM com sucesso.
Crie um novo canal para uma instância CMD. Digite CMD para iniciar o canal e obter o nome do canal.
Mude para o canal que está executando a instância CMD. Nesse caso, deve ser o canal 1.
ch -si 1
Selecione Enter novamente e insira um nome de usuário e senha válidos, local ou ID de domínio, para a VM.
Verifique o status do serviço TermService:
sc query TermService
Se o status do serviço mostrar Parado, tente iniciar o serviço:
sc start TermService
Consulte o serviço novamente para garantir que ele foi iniciado com sucesso:
sc query TermService
Se o serviço falhar ao iniciar, siga a solução com base no erro que você recebeu:
Error Suggestion 5 - ACESSO NEGADO Consulte O serviço TermService foi interrompido devido a um erro de acesso negado. 1053 - ERROR_SERVICE_REQUEST_TIMEOUT Consulte O serviço TermService está desativado. 1058 - ERROR_SERVICE_DISABLED Consulte O serviço TermService falha ou trava. 1059 - ERROR_CIRCULAR_DEPENDENCY Entre em contato com o suporte para resolver seu problema rapidamente. 1067 - ERROR_PROCESS_ABORTED Consulte O serviço TermService falha ou trava. 1068 - ERROR_SERVICE_DEPENDENCY_FAIL Entre em contato com o suporte para resolver seu problema rapidamente. 1069 - ERROR_SERVICE_LOGON_FAILED Consulte O serviço TermService falha devido a uma falha de logon 1070 - ERROR_SERVICE_START_HANG Consulte O serviço TermService falha ou trava. 1077 - ERROR_SERVICE_NEVER_STARTED Consulte O serviço TermService está desativado. 1079 - ERROR_DIFERENCE_SERVICE_ACCOUNT Entre em contato com o suporte para resolver seu problema rapidamente. 1753 Entre em contato com o suporte para resolver seu problema rapidamente.
O serviço TermService foi interrompido devido a um problema de acesso negado
Conecte-se ao Serial Console e abra uma instância do PowerShell.
Baixe a ferramenta Process Monitor executando o seguinte script:
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)
Agora inicie um rastreamento procmon:
procmon /Quiet /Minimized /BackingFile c:\temp\ProcMonTrace.PML
Reproduza o problema iniciando o serviço que está dando Acesso negado:
sc start TermService
Quando falhar, encerre o rastreamento do Monitor do Processo:
procmon /Terminate
Colete o arquivo c:\temp\ProcMonTrace.PML:
- Anexar um disco de dados à VM.
- Use o console serial para copiar o arquivo para a nova unidade. Por exemplo,
copy C:\temp\ProcMonTrace.PML F:\
. Neste comando, F é a letra do driver do disco de dados anexado. - Desanexe a unidade de dados e anexe-a a uma VM em funcionamento que tenha o Monitor de Processo ubstakke instalado.
Abra ProcMonTrace.PML usando o Process Monitor da VM em funcionamento. Em seguida, filtre por O resultado é ACESSO NEGADO, conforme mostrado na captura de tela a seguir:
Corrija as chaves de registro, pastas ou arquivos que estão na saída. Normalmente, esse problema é causado quando a conta de login usada no serviço não tem permissão ACL para acessar esses objetos. Para saber a permissão de ACL correta para a conta de login, você pode verificar uma VM íntegra.
O serviço TermService está desativado
Restaure o serviço para seu valor de inicialização padrão:
sc config TermService start= demand
Iniciar o serviço:
sc start TermService
Consulte seu status novamente para garantir que o serviço esteja em execução:
sc query TermService
Tente se conectar à VM usando a Área de Trabalho Remota.
O serviço TermService falha devido a uma falha de logon
Esse problema ocorre se a conta de inicialização desse serviço foi alterada. Mudou isso de volta ao seu padrão:
sc config TermService obj= 'NT Authority\NetworkService'
Iniciar o serviço:
sc start TermService
Tente se conectar à VM usando a Área de Trabalho Remota.
O serviço TermService falha ou trava
Se o status do serviço estiver preso em Iniciando ou Parando, tente parar o serviço:
sc stop TermService
Isole o serviço em seu próprio contêiner 'svchost':
sc config TermService type= own
Iniciar o serviço:
sc start TermService
Se o serviço ainda não iniciar, Entre em contato com o suporte.
Repare a VM off-line
Anexe o disco do sistema operacional a uma VM de recuperação
Inicie uma conexão de área de trabalho remota com a VM de recuperação. Certifique-se de que o disco anexado esteja sinalizado como Online no console de gerenciamento de disco. Observe a letra da unidade atribuída ao disco do sistema operacional anexado.
Abra uma instância elevada do prompt de comando (Executar como administrador). Em seguida, execute o script a seguir. Assumimos que a letra da unidade atribuída ao disco do sistema operacional anexado é F. Substitua-o pelo valor apropriado em sua VM.
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
Desanexe o disco do SO e recrie a VM. Faça um teste para verificar se o problema foi resolvido.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de