O serviço VMM do Hyper-V falha e a ID do Evento 14050 é registrada quando o dynamicportrange é alterado

Este artigo fornece uma solução para problemas em que o serviço VMM do Hyper-V falha e a ID do evento 14050 é registrada quando a configuração dynamicportrange é alterada.

Aplica-se a: Windows Server 2012 R2
Número de KB original: 2761899

Sintomas

Suponha que você tenha um computador que esteja executando Windows Server 2012 com o Hyper-V instalado. Se você tentar gerenciar os hosts do Hyper-V usando System Center Virtual Machine Manager 2012 Service Pack 1 (SP1) ou remotamente usando o Hyper-V Manager, a tentativa falhará. Além disso, um evento pode ser registrado no log de eventos que se assemelha ao seguinte:

Nome do log: Microsoft-Windows-Hyper-V-VMMS-Administração
Fonte: Microsoft-Windows-Hyper-V-VMMS
Data: <Hora da Data><>
ID do evento: 14050
Nível: erro
Descrição: falha ao registrar o nome da entidade de serviço.
Evento Xml: ...
<Parameter0>Hyper-V Replica Service</Parameter0>

Motivo

Esse problema poderá ocorrer se o intervalo de porta dinâmica do TCP estiver fora do intervalo padrão. O Serviço de Gerenciamento Virtual (Vmms.exe) do Hyper-V usa o Endurecimento do Serviço Windows e limita-se ao intervalo dinâmico de portas.

Para determinar o intervalo de porta dinâmica do TCP, execute o seguinte comando em um prompt de comando elevado:

C:\>netsh int ipv4 show dynamicportrange tcp Protocol tcp Dynamic Port Range --------------------------------- Start Port : 49152 Number of Ports : 16384

Esse problema também pode ocorrer se a porta NTDS tiver sido restrita a uma porta específica em seus controladores de domínio. Se essa porta NTDS selecionada não estiver dentro dos intervalos padrão, você deverá adicionar essa porta executando o script na seção "Resolução" em cada host Hyper-V.

Para obter mais informações, clique no seguinte número do artigo para acessar o artigo na Base de Dados de Conhecimento da Microsoft:

224196 Restringir o tráfego de replicação do Active Directory e o tráfego de RPC do cliente para uma porta específica

Resolução

Para resolve esse problema, execute o script a seguir uma vez em cada host Hyper-V afetado. Este script adiciona um intervalo de porta personalizado para permitir que Vmms.exe se comuniquem em um intervalo de porta adicional de 9000 a 9999. O script pode ser modificado conforme necessário.

Para configurar um script para adicionar o intervalo de portas personalizado, siga estas etapas:

  1. Inicie um editor de texto, como o Bloco de Notas.

  2. Copie o seguinte código e cole o código no arquivo de texto:

    
    'This VBScript adds a port range from 9000 to 9999 for outgoing traffic  
    'run as cscript addportrange.vbs on the hyper-v host
    
    option explicit
    
    'IP protocols
    const NET_FW_IP_PROTOCOL_TCP = 6
    const NET_FW_IP_PROTOCOL_UDP = 17
    
    'Action
    const NET_FW_ACTION_BLOCK = 0
    const NET_FW_ACTION_ALLOW = 1
    
    'Direction
    const NET_FW_RULE_DIR_IN = 1
    const NET_FW_RULE_DIR_OUT = 2
    
    'Create the FwPolicy2 object.
    Dim fwPolicy2
    Set fwPolicy2 = CreateObject("HNetCfg.FwPolicy2")'Get the Service Restriction object for the local firewall policy.
    Dim ServiceRestriction
    Set ServiceRestriction = fwPolicy2.ServiceRestriction
    
    'If the service requires sending/receiving certain type of traffic, then add "allow" WSH rules as follows
    'Get the collection of Windows Service Hardening networking rules
    
    Dim wshRules
    Set wshRules = ServiceRestriction.Rules
    
    'Add outbound WSH allow rules
    Dim NewOutboundRule
    Set NewOutboundRule = CreateObject("HNetCfg.FWRule")
    NewOutboundRule.Name = "Allow outbound traffic from service to TCP 9000 to 9999"
    NewOutboundRule.ApplicationName = "%systemDrive%\WINDOWS\system32\vmms.exe"
    NewOutboundRule.ServiceName = "vmms"
    NewOutboundRule.Protocol = NET_FW_IP_PROTOCOL_TCP
    NewOutboundRule.RemotePorts = "9000-9999"
    NewOutboundRule.Action = NET_FW_ACTION_ALLOW
    NewOutboundRule.Direction = NET_FW_RULE_DIR_OUT
    NewOutboundRule.Enabled = true
    wshRules.Add NewOutboundRule
    
    'end of script
    
  3. Salve o arquivo como "Addportrange.vbs" (incluindo as aspas). Isso cria corretamente o arquivo como tendo a extensão .vbs. O ícone do arquivo é alterado de um ícone de Bloco de Notas para um ícone de script.

  4. Execute o script como cscript.

Referências

970923 Não é possível adicionar um host gerenciado no SCVMM 2008 e SCVMM 2012, Erro 2927 (0x8033809d)

929851 O intervalo de porta dinâmica padrão para TCP/IP foi alterado no Windows Vista e no Windows Server 2008