El servidor RPC no está disponible, error 0X800706BA
-
Tuesday, February 05, 2008 6:32 PM
Hola a todos,
He realizado una pequeña aplicación que comprueba la capacidad de discos en el servidor.
El caso es que lo he probado en una de las oficinas de la empresa y funciona sin ningún problema, pero al instalarlo en otra oficina (otra red) me lanza el siguiente error:
El servidor RPC no está disponible, error 0X800706BA
El caso es que ese servidio está iniciado y no tengo ningún antivirus ni firewall en funcionamiento.
No se que puede ser...
Gracias por la ayuda.
Javi.
All Replies
-
Tuesday, February 05, 2008 6:52 PM
abre una consola de comandos y dale
net start RPC
espera a que acabe, si despues de eso no funciona, entra por
inicio , ejecutar y escribe
services.msc
en ese panel busca el servicio de llamada a procediemiento remoto (Remote procedure call - RPC) y asegurate que este como inicio automatico, subelo de nuevo e intenta de nuevo.
Si despues de eso no funciona... ya puede ser un daño en el OS... parchalo... o tambien podria ser un virus...
-
Tuesday, February 05, 2008 7:27 PM
Gracias Juan Carlos por la respuesta:
En línea de comandos, escribiendo net start RPC
no reconoce el servicio.
En el panel de servicios me dice que está inicidado, pero no puedo resetearlo, todas esas opciones están deshabilitadas para pararlo, iniciarlo, etc...aunque ya está iniciado...
No me funciona ni en el servidor de la oficina ni en mi propio pc de casa, únicamente en una de las oficinas gracias.
Gracias por la ayuda.
-
Tuesday, February 05, 2008 8:56 PM
puede ser problem a de privilegios...
intenta ejecutando la app desde un usuario con privilegios mas elevados.. por probar dale con un administrador...
-
Tuesday, February 05, 2008 9:50 PM
Gracias de nuevo...
En ambos casos entro tanto al servidor de la oficina, como a mi pc de casa como Administrador.
He probado a reiniciarlos pera nada...en el servidor de la oficina funciona perfectamente tanto SQL Server 2005, como el servidor de páginas web...Lo que me extraña es que en el servidor de una oficina funcione, mientras que en otra no...
Gracias.
Javi.
-
Tuesday, February 05, 2008 9:53 PM
muy raro...
tienen instalado el mismo servicepack y esas cosas?
-
Tuesday, February 05, 2008 9:57 PM
En ambos servidores sp1 de windows server 2003, y en el de casa el sp2 de xp...
Gracias por todas las molestias y el interes.
-
Tuesday, February 05, 2008 10:06 PM
1- hasle debug en la maquina que no funciona a ver que te arroja-
2- lleva el codigo de error y consukta en los foros de technet. http://forums.microsoft.com/technet-es/default.aspx?siteid=30
-
Tuesday, February 05, 2008 10:12 PM
¿A qué te refieres con un debug?
El mensaje de error que da mi aplicación lo obtuve controlando las excepciones y mostrando el mensaje.
Graicas de verdad.
Javi.
-
Wednesday, February 06, 2008 6:14 PM
Hola de nuevo,
Dejo aqui el código, la excepción salta en la última linea.
Dim
oConn As Management.ConnectionOptions = New Management.ConnectionOptionsCode SnippetoConn.Username =
My.Settings.usuariooConn.Password =
My.Settings.pwdoConn.EnablePrivileges =
TrueoConn.Impersonation = ImpersonationLevel.Impersonate
oConn.Authentication = System.Management.AuthenticationLevel.Packet
Dim strNameSpace As String Dim oMs As System.Management.ManagementScope TrystrNameSpace =
"\\" & My.Settings.servidor & "\root\cimv2"oMs =
New System.Management.ManagementScope(strNameSpace, oConn)Gracias por la ayuda.
Javi.
-
Wednesday, February 06, 2008 7:17 PM
creo que esto esta mal:
Code SnippetstrNameSpace = "\\" & My.Settings.servidor & "\root\cimv2"
porque \r es el caracter de escape de retorno de carro... (al menos en C#)
haslo asi
Code SnippetstrNameSpace = @"\\" & My.Settings.servidor & @"\root\cimv2"
-
Wednesday, February 06, 2008 7:48 PM
Hola Juan Carlos,
He probado como me dices pero da error en las "@", supongo que en visual basic será diferente.
Muchas gracias, seguiré con mis prueba y os contaré mis "avances" si es lo que hay.
Javi.
-
Friday, February 08, 2008 12:59 PM
Hola, sigo sin conseguirlo...he probado con este otro código, pero no resuelvo nada, lo curioso es que esto funciona contra los servidores y en local, pero no con ningún otro pc de la misma red...
Code Snippet' Variable para la colección
Dim c_disco As Object Dim o_Wmi As Object 'Para acceder a wmi ' Variable para hacer referencia a la unidad de red Dim Unidad_red As Object ' Dim item As ListItem ' para el listview o_Wmi = GetObject("winmgmts:" _&
"{impersonationLevel=impersonate}!\\" & My.Settings.servidor & "\root\cimv2")Que locura...
Gracias.
Javi.
-
Friday, February 08, 2008 7:47 PMsi quieres explica mejor que debe hacer tu aplicacion y enviame el codigo completo a mi email...
-
Saturday, February 09, 2008 4:47 PM
Hola Juan Carlos,
Te he enviado el correo con el proyecto completo comprimido.
La aplicación simplemente comprueba la capacidad de un pc que le índique, si esta capacidad es inferior a una determinada cantidad avisa al usuario.
Se trata de una aplicación para que los usuarios que realizan copias de seguridad sobre discos reciban un aviso cuando no tengan más espacio y así puedan sustituirlo.
Algo sencillo, pero que vaya guerra me está dando.
Dejo aqui el código completo de la función que se encarga de hacer esa comprobación:
Code SnippetPrivate
Sub comprobar() ' On Error Resume Next Try ' Variable para la colección Dim c_disco As Object Dim o_Wmi As Object 'Para acceder a wmi ' Variable para hacer referencia a la unidad de red Dim Unidad_red As Objecto_Wmi = GetObject(
"winmgmts:" _&
"\\" & My.Settings.servidor & "\root\cimv2")c_disco = o_Wmi.ExecQuery(
"Select * from Win32_LogicalDisk") ' Recorre las unidades de red en la colección ..si es que hay Dim cadenaTotal As String = "" Dim cadena As String = "" Dim avisar As Boolean = False Dim libre As Double = 0 For Each Unidad_red In c_disco If IsNumeric(Unidad_red.FreeSpace) Thenlibre =
CDbl(Unidad_red.FreeSpace) / 1024 Elselibre = 0
End Ifcadena =
"Unidad: " & Unidad_red.Name & " - Espacio Libre: " & libre.ToString & " Mb." & Chr(13) & Chr(10)cadenaTotal = cadenaTotal & cadena
'& " - Total espacio: " & FormatNumber(oReturn("Size") / 1000) & Chr(10) & Chr(13) & Chr(10) & Chr(13) If libre < CDbl(My.Settings.filtro) And Unidad_red.Name = My.Settings.Unidad & ":" Thenavisar =
True End If Next If avisar = True ThenNotifyIcon1.BalloonTipText = cadenaTotal
'NotifyIcon1.= FalseNotifyIcon1.ShowBalloonTip(1800000)
txtPropiedades.Text = cadenaTotal
Timer1.Stop()
ElseNotifyIcon1.BalloonTipText =
"No hay ningún disco duro con menos de " & My.Settings.filtro & " Mb."NotifyIcon1.ShowBalloonTip(10000)
txtPropiedades.Text =
"No hay ningún disco duro con menos de " & My.Settings.filtro & " Mb." If Not _comprobado ThenTimer1.Start()
End If End If Catch ex As ExceptionMsgBox(
"Imposible realizar conexión, los datos de conexión no son válidos. " & ex.Message, MsgBoxStyle.Critical, "Conexión no realizada.")txtPropiedades.Text = ex.Message
Timer1.Stop()
Me.Visible = True Me.WindowState = FormWindowState.Normal Me.ShowInTaskbar = True End Try End SubGracias.
Javi.
-
Sunday, February 10, 2008 1:29 AM
jejeje, ok lo revisare... la risa es porque no tengo ni se vb.net...
pero lo estoy instalando y veremos.
-
Sunday, February 10, 2008 1:33 AM
jajaja, oye no te preocupes tengo previsto intentar cambiar algún permiso en los usuarios o mirar algo con los dominios, en cuanto me entere de algo lo colgaré por aqui ( si es que me entero ) de momento tu ayuda me ha sido más que útil.
Gracias.
-
Saturday, September 06, 2008 8:17 PMAunque ya es un poco tarde para dar soluciones, mas vale tarde que nunca.
En fin a mi me acaba de pasar lo mismo, y el problema que tenia es que en el controlador primario habia puesto como DNS primario la ip de la puerta de enlace por equivocación
Saludos!!

