2011-01-11 35 views
14

estoy usando el siguiente código para conectarse al equipo remoto mediante WMI:WMI: el servidor RPC no está disponible. (Excepción de HRESULT: 0x800706BA) lanza cuando intento para conectar con la máquina remota

ConnectionOptions connOptions = new ConnectionOptions(); 
      connOptions.Impersonation = ImpersonationLevel.Impersonate; 
      connOptions.EnablePrivileges = true; 
      connOptions.Username = "admin"; 
      connOptions.Password = "password"; 
      ManagementScope scope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", remoteMachine), connOptions); 
      scope.Connect(); 

Me estoy poniendo la siguiente excepción: El servidor RPC no está disponible. (Excepción de HRESULT: 0x800706BA)

Comprobó todos los pasos descritos in this knowledgebase article, todo está bien en la máquina remota.

El usuario es Administrador en la máquina remota.

herramienta Wbemtest intentado, el mismo resultado

¿Alguien tiene una idea de lo que está sucediendo?

Gracias de antemano,
Vasyl

+0

posible duplicado de [Conexión a WMI: 0x800706ba errores en algunas máquinas (pero no todos)] (http://stackoverflow.com/ preguntas/369177/connecting-to-wmi-0x800706ba-errors-on-some-machines-but-not-all) –

Respuesta

8

Si bajo Win7 debe ejecutar la aplicación como administrador. También puede probar diferentes valores para la propiedad connOptions.Impersonation. ¿Abriste el puerto RPC en una máquina remota? Intente apagar el firewall de altogeter en ambas máquinas.

+2

Si funciona con firewalls deshabilitados, intente escribir en el símbolo del sistema: Netsh firewall set service RemoteAdmin – Nickolodeon

+1

Buenas sugerencias . Gracias. Configuré un poco mis firewalls y todo funciona bien – vasyl

+0

O podría agregar WMI como excepción a su firewall –

2

Además, debe habilitar la regla de Windows Management Instrumentation (WMI) en el firewall de Windows.

1] Firewall de Windows.
2] Permitir aplicación o función a través del firewall de Windows.
3] Habilitar Privilegio para Windows Management Instrumentation (WMI).

+0

En mi caso, estaba tratando de matar el proceso java.exe en un servidor remoto a través de WMI usando C#. Esta solución funcionó bien para mí. ¡Gracias! –

0

Todavía tiene un problema y luego siga el enlace a continuación puede ayudarlo.

Connecting to WMI Remotely

que hacer frente a este problema incluso mi todo firewall está desactivado.

Debajo del comando ejecutado y mi problema está resuelto.

  1. advfirewall netsh conjunto de reglas de firewall group = "ventanas de gestión Instrumentation (WMI)" nueva enable = sí

  2. advfirewall netsh firewall añadir dir regla = en nombre = programa "DCOM" = % SystemRoot% \ system32 \ svchost.exe servicio = acción = rpcss permitir protocolo TCP = localport = 135

  3. advfirewall netsh firewall añadir dir = regla en name = "WMI" programa =% syste mroot% \ system32 \ svchost.exe servicio = acción = winmgmt permiten localport protocolo TCP = = cualquier

  4. advfirewall netsh firewall añadir dir regla = name = programa "UnsecApp" en =% SystemRoot% \ system32 \ wbem \ unsecapp .exe action = allow

  5. netsh advfirewall firewall agregar regla dir = out name = "WMI_OUT" programa =% systemroot% \ system32 \ svchost.servicio exe = acción = winmgmt permitir protocolo TCP = localport = cualquier

Cuestiones relacionadas