Gerenciador de Hyper-V “serviço RPC indisponível”

2

Em um domínio do Active Directory e no ambiente flat network , executando o Hyper-V Manager como a mesma conta de usuário administrativo :

  1. em pelo menos 2 PCs com Windows 10 e tentando conectar-se a:
    1a. Qualquer um dos 10 servidores do Hyper-V Server 2012 R2 falha com o erro RPC server unavailable. Unable to establish communication between '<Hyper-V server FQDN>' and '<client PC hostname>'.
    1b. Qualquer um dos 2 servidores do Hyper-V Server 2016 é bem-sucedido.
  2. Em um servidor de controlador de domínio do Windows Server 2012 R2 (eu sei, eu sei) e tentando se conectar a:
    1a. Qualquer um dos 10 servidores do Hyper-V Server 2012 R2 é bem-sucedido. 1b. Qualquer um dos 2 servidores do Hyper-V Server 2016 é bem-sucedido.

Portanto, a causa raiz parece ser a conectividade entre os clientes e servidores afetados.

O comando elevado cscript "<path>\hvremote.wsf" /show /target:%affectedServer% /override emitiu o seguinte (anonimizado):

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.


Hyper-V Remote Management Configuration & Checkup Utility
John Howard, Hyper-V Team, Microsoft Corporation.
http://blogs.technet.com/jhoward
Version 1.08 9th Sept 2013

INFO: Computername is %affectedClient%
INFO: Computer is in domain %ADDNSDomainName%
INFO: Current user is %ADNetBIOSDomainName%\ben.hooper
INFO: OS is 10.0.16299 64-bit Microsoft Windows 10 Enterprise
INFO: Assuming /mode:client as the Hyper-V role is not installed
WARN: User override to assume Windows 8.1/Windows Server 2012 R2 behaviour
INFO: Hyper-V Tools are enabled

-------------------------------------------------------------------------------
DACL for COM Security Access Permissions
-------------------------------------------------------------------------------

\Everyone    (S-1-1-0)
     Allow: LocalLaunch RemoteLaunch (7)

NT AUTHORITY\ANONYMOUS LOGON    (S-1-5-7)
     Allow: LocalLaunch (3)

BUILTIN\Distributed COM Users    (S-1-5-32-562)
     Allow: LocalLaunch RemoteLaunch (7)

BUILTIN\Performance Log Users    (S-1-5-32-559)
     Allow: LocalLaunch RemoteLaunch (7)

APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES    (S-1-15-2-1)
     Allow: LocalLaunch (3)

\    (S-1-15-3-1024-2405443489-874036122-4286035555-1823921565-1746547431-2453885448-3625952902-991631256)
     Allow: LocalLaunch (3)

-------------------------------------------------------------------------------
ANONYMOUS LOGON Machine DCOM Access
-------------------------------------------------------------------------------

ANONYMOUS LOGON does not have remote access

  This setting should only be enabled if required as security on this
  machine will be lowered. This computer is in a domain. It is not
  required if the server(s) being managed are in the same or trusted
  domains.

  Use hvremote /mode:client /anondcom:grant to turn on if required

  Both computers are in domain %ADDNSDomainName%


-------------------------------------------------------------------------------
Firewall Settings for Hyper-V Management Clients
-------------------------------------------------------------------------------

Domain Firewall Profile is active
Public Firewall Profile is active


-------------------------------------------------------------------------------
IP Configuration
-------------------------------------------------------------------------------


%IPConfig%


-------------------------------------------------------------------------------
Stored Credentials
-------------------------------------------------------------------------------


%storedCredentials%



-------------------------------------------------------------------------------
Testing connectivity to server:%affectedServer%
-------------------------------------------------------------------------------

1: - Remote computer network configuration
     PASS - Found one or more network adapters

     Network adapter 1 of 1
       - Hyper-V Virtual Ethernet Adapter #2
       - Host Name:%affectedServer%
       - IP Addresses: 172.16.100.111 fe80::3cb0:1dda:7e90:c948
       - IP Subnets: 255.255.255.0 64

2: - Remote computer general information
     PASS - Queries succeeded

     - Name: %affectedServer%
     - Domain: %ADDNSDomainName%
     - OS: 6.3.9600 64-bit Microsoft Hyper-V Server 2012 R2
     - OS Type: Server

3: - Ping and resolve name of remote computer
     PASS - Server found
          - Protocol Address:             172.16.100.111
          - Protocol Address resolved:    172.16.100.111

     The name could not be resolved using WMI. A regular ping will be done
     to see if name resolution is working. This is not a sign of an issue.

4: - Ping %affectedServer% using IPv4

     A timeout is OK, but if you get an error that %affectedServer%
     could not be found, you need to fix DNS or edit
     \windows\system32\drivers\etc\hosts.

     >
     > Pinging %affectedServer%.%ADDNSDomainName% [172.16.100.111] with 32 bytes of data:
     > Reply from 172.16.100.111: bytes=32 time=2ms TTL=128
     >
     > Ping statistics for 172.16.100.111:
     >     Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
     > Approximate round trip times in milli-seconds:
     >     Minimum = 2ms, Maximum = 2ms, Average = 2ms
     >


5: - Ping %affectedServer% using IPv6

     A timeout is OK, but if you get an error that %affectedServer%
     could not be found, you need to fix DNS or edit
     \windows\system32\drivers\etc\hosts.

     > Ping request could not find host %affectedServer%. Please check the name and try again.
     >


6: - Connect to root\cimv2 WMI namespace
     PASS - Connection established

7: - Connect to root\virtualization\v2 WMI namespace
     PASS - Connection established

8: - Simple query to root\cimv2 WMI namespace
     PASS - Simple query succeeded

9: - Simple query to root\virtualization\v2 WMI namespace
     PASS - Simple query succeeded
          - 3 computer system(s) located

10: - Async notification query to root\virtualization\v2 WMI namespace
     FAIL - Notification query failed The RPC server is unavailable.

There may be a DNS issue and the server cannot locate this machine.
You should check this by performing a ping test from the server to
this machine verifying that the IP address the server is trying to
reach matches the IP address of this machine shown in the output above.
Note that it does not matter if the ping succeeds or fails, just that
the IP address is correct.

  Run on %affectedServer%: ping -4 %affectedClient%

Note that if you do not have DNS in your infrastructure, you can edit
the \windows\system32\drivers\etc\hosts file on the server to add an
entry for %affectedClient%

If you do have DNS in your infrastructure, you may want to try flushing
the DNS cache on the server, and re-registering against DNS on the client

 Run on %affectedServer%: ipconfig /flushdns
 Run on %affectedClient%: ipconfig /registerdns

If you are connected over a VPN, see %StackExchange-bannedURL% for
information about another likely cause.

If the server is in an untrusted domain to this client, you need to
enable anonymous logon access to DCOM on this machine:

  Run 'hvremote.wsf /mode:client /anondcom:grant' and retry.

If this machine has IPSec policy enforced on it, and the server is in a
workgroup or untrusted domain from this computer, inbound connections
to the client may be blocked by your administrator. You may be able to
temporarily work around this by running net stop bfe on this machine,
but you may lose access to some network services while that service
is stopped. However, this may be against the policy of your administrator.

If the server is behind a router/firewall from the client, WMI/DCOM
calls may be being blocked. This will likely be the case if the server
is, for example, on a public IP directly to the Internet. In this
situation, some solutions to consider are:
 - VPN to tunnel traffic
 - Publish Hyper-V Manager through a TS/RD Gateway
 - Access the server through RDP and perform 'local' management
 - Run a management machine (physical or virtual) and RDP to that

There have been several instances of third party firewalls and/or
anti-virus software having adverse effects on remote management.
In some cases, disabling that software has not been sufficient to
resolve the issue, and it has been necessary to completely remove
the program.



INFO: Are running the latest version

-------------------------------------------------------------------------------
3 warnings or errors were found in the configuration. Review the
detailed output above to determine whether you need to take further action.
Summary is below.

1: Running on a later OS than tested on. User override given
2: Cannot perform async WMI query. See detailed resolution steps above.
3: Some tests were not run due to prior failures

-------------------------------------------------------------------------------
INFO: HVRemote complete

Eu pesquisei completamente esse erro e ninguém tem esse problema / ambiente exato, mas, em qualquer caso, nenhuma correção recomendada (verificando se as relações de confiança do domínio estão íntegras, verificando se o DNS está funcionando corretamente nas duas extremidades, verificando as permissões administrativas locais , verificando local permitindo redirecionamentos ICMPv4, etc) funcionaram, daí esse post.

Notas importantes :

  1. Isso costumava funcionar até as alterações relacionadas ao Cyber Essentials Plus.
  2. Os objetos de computador dos servidores do Hyper-V 2012 R2 e 2016 estão na mesma UO, portanto, os mesmos GPOs estão sendo aplicados.

Atualização: 2017/12/22 08:47:

De acordo com link , isto é:

  • Causado pelo Windows 10 v1709. Isso se encaixa com o que eu vi.
  • Pode ser resolvido permitindo conexões de entrada do WMI no Firewall do Windows do servidor Hyper-V. Ainda não consegui testar isso, mas atualizarei isso quando tiver.

Atualização: 2017/12/27 14:15:

Eu criei um GPO para reconfigurar as regras de criação do Firewall do Windows para permitir conexões WMI de entrada e verifiquei se ele foi aplicado com êxito por:

  1. Executando gpresult /v e verificando a saída.
  2. Conectando regedit e verificando a chave de registro HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\FirewallRules .

No entanto, o problema permanece, mesmo depois de desativar completamente o Firewall do Windows do servidor em todos os perfis.

    
por mythofechelon 04.12.2017 / 12:31

1 resposta

1

As conexões de entrada do WMI precisam ser permitidas no Firewall do Windows no PC , não no servidor Hyper-V.

    
por 28.02.2018 / 15:39