Não é possível RDP para máquinas virtuais do Azure porque o serviço de cliente DHCP está desabilitado

Este artigo descreve um problema no qual você não pode usar a área de trabalho remota para máquinas virtuais (VMs) do Windows do Azure depois que o serviço de cliente DHCP é desabilitado na VM.

Sintomas

Você não pode tornar uma conexão RDP uma VM no Azure porque o serviço DHCP Client está desabilitado na VM. Ao verificar a captura de tela em Diagnóstico de inicialização no portal do Azure, você verá que a VM é inicializada normalmente e aguarda as credenciais na tela de login. Você visualiza remotamente os logs de eventos na VM usando o Visualizador de Eventos. Você vê que o serviço de cliente DHCP não foi iniciado ou falhou ao iniciar. A seguir, um log de amostra:

Nome do registro: Sistema
Fonte: Gerenciador de Controle de Serviços
Data: 16/12/2015 11:19:36 AM
ID do evento: 7022
Categoria da tarefa: Nenhuma
Nível: Erro
Palavras-chave: Classic
Usuário: N/A
Computador: myvm.cosotos.com
Descrição: O serviço DHCP Client travou ao iniciar.

Para VMs do Resource Manager, você pode usar o recurso Serial Access Console para consultar os logs de eventos 7022 usando o seguinte comando:

wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Service Control Manager'] and EventID=7022 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more

Para VMs clássicas, você precisará trabalhar no modo OFFLINE e coletar os logs manualmente.

Motivo

O serviço de cliente DHCP não está em execução na VM.

Observação

Este artigo aplica-se apenas ao serviço DHCP Client e não ao servidor DHCP.

Solução

Antes de seguir essas etapas, faça um instantâneo do disco do sistema operacional da VM afetada como backup. Para saber mais, consulte Instantâneo de um disco.

Para resolver esse problema, use o controle serial para ativar o DHCP ou redefinir interface de rede para a VM.

Usar controle serial

  1. Conecte-se ao Console Serial e abra a instância do CMD. ). Se o console serial não estiver ativado em sua VM, consulte Redefinir interface de rede.

  2. Verifique se o DHCP está desabilitado na interface de rede:

    sc query DHCP
    
  3. Se o DHCP estiver parado, tente iniciar o serviço

    sc start DHCP
    
  4. Consulte o serviço novamente para certificar-se de que o serviço foi iniciado com êxito.

    sc query DHCP
    

    Tente se conectar à VM e veja se o problema foi resolvido.

  5. Se o serviço não iniciar, use a seguinte solução apropriada, com base na mensagem de erro que você recebeu:

    Error Solução
    5 - ACESSO NEGADO Consulte O serviço do cliente DHCP foi interrompido devido a um erro de acesso negado.
    1053 - ERROR_SERVICE_REQUEST_TIMEOUT Consulte O serviço do cliente DHCP falha ou trava.
    1058 - ERROR_SERVICE_DISABLED Consulte O serviço do cliente DHCP está desativado.
    1059 - ERROR_CIRCULAR_DEPENDENCY Entre em contato com o suporte para resolver seu problema rapidamente.
    1067 - ERROR_PROCESS_ABORTED Consulte O serviço do cliente DHCP 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 do cliente DHCP falha devido a uma falha de logon
    1070 - ERROR_SERVICE_START_HANG Consulte O serviço do cliente DHCP falha ou trava.
    1077 - ERROR_SERVICE_NEVER_STARTED Consulte O serviço do cliente DHCP está desativado.
    1079 - ERROR_DIFERENCE_SERVICE_ACCOUNT Entre em contato com o suporte para resolver seu problema rapidamente.
    1053 Entre em contato com o suporte para resolver seu problema rapidamente.

O serviço do cliente DHCP foi interrompido devido a um erro de acesso negado

  1. Conecte-se ao Serial Console e abra uma instância do PowerShell.

  2. 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)
    
  3. Agora inicie um rastreamento procmon:

    procmon /Quiet /Minimized /BackingFile c:\temp\ProcMonTrace.PML
    
  4. Reproduza o problema iniciando o serviço que está gerando a mensagem Acesso negado:

    sc start DHCP
    

    Quando falhar, encerre o rastreamento do Monitor do Processo:

    procmon /Terminate
    
  5. Colete o arquivo c:\temp\ProcMonTrace.PML:

    1. Anexar um disco de dados à VM.
    2. 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. Substitua a letra conforme apropriado pelo valor correto.
    3. Desanexe a unidade de dados e, em seguida, conecte-a a uma VM em funcionamento que tenha o Process Monitor ubstakke instalado.
  6. Abra ProcMonTrace.PML usando o Process Monitor na VM em funcionamento. Em seguida, filtre por O resultado é ACESSO NEGADO, conforme mostrado na captura de tela a seguir:

    Captura de tela do botão Filtro na faixa de opções da caixa de diálogo Filtro do Monitor de Processo quando você filtra por Resultado é ACESSO NEGADO.

  7. 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 determinar a permissão de ACL correta para a conta de entrada, você pode verificar uma VM íntegra.

O serviço de cliente DHCP está desabilitado

  1. Restaure o serviço para seu valor de inicialização padrão:

    sc config DHCP start= auto
    
  2. Iniciar o serviço:

    sc start DHCP
    
  3. Consulte o status do serviço novamente para garantir que ele esteja em execução:

    sc query DHCP
    
  4. Tente se conectar à VM usando a Área de Trabalho Remota.

O serviço do cliente DHCP falha devido a uma falha de logon

  1. Como esse problema ocorre se a conta de inicialização desse serviço foi alterada, reverta a conta para seu status padrão:

    sc config DHCP obj= 'NT Authority\Localservice'
    
  2. Iniciar o serviço:

    sc start DHCP
    
  3. Tente se conectar à VM usando a Área de Trabalho Remota.

O serviço do cliente DHCP falha ou trava

  1. Se o status do serviço estiver preso no estado Iniciando ou Parando, tente interromper o serviço:

    sc stop DHCP
    
  2. Isole o serviço em seu próprio contêiner 'svchost':

    sc config DHCP type= own
    
  3. Iniciar o serviço:

    sc start DHCP
    
  4. 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

  1. Anexe o disco do SO a uma VM de recuperação.

  2. 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.

  3. Abra uma instância elevada do prompt de comando (Executar como administrador). Em seguida, execute o script a seguir. Este script assume que a letra da unidade atribuída ao disco do sistema operacional anexado é F. Substitua a letra conforme apropriado pelo valor 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\DHCP" /v start /t REG_DWORD /d 2 /f
    reg add "HKLM\BROKENSYSTEM\ControlSet001\services\DHCP" /v ObjectName /t REG_SZ /d "NT Authority\LocalService" /f
    reg add "HKLM\BROKENSYSTEM\ControlSet001\services\DHCP" /v type /t REG_DWORD /d 16 /f
    reg add "HKLM\BROKENSYSTEM\ControlSet002\services\DHCP" /v start /t REG_DWORD /d 2 /f
    reg add "HKLM\BROKENSYSTEM\ControlSet002\services\DHCP" /v ObjectName /t REG_SZ /d "NT Authority\LocalService" /f
    reg add "HKLM\BROKENSYSTEM\ControlSet002\services\DHCP" /v type /t REG_DWORD /d 16 /f
    
    reg unload HKLM\BROKENSYSTEM
    
  4. Desanexe o disco do SO e recrie a VM. Em seguida, verifique 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.