Solución de problemas de WMI
Al acceder a datos locales o remotos de WMI en una aplicación o script, es posible que encuentre errores que van desde clases que faltan hasta el acceso denegado. Los proveedores también tienen opciones de depuración y clases de solución de problemas disponibles.
Nota
La información de este tema está pensada para desarrolladores y administradores de TI. Si es un usuario final que ha experimentado un mensaje de error relacionado con WMI, visite Soporte técnico de Microsoft y busque el código de error que ve en el mensaje de error. Para obtener más información sobre cómo solucionar problemas con scripts WMI y el servicio WMI, consulta WMI no funciona.
Utilidad de diagnóstico de WMI
Importante
El Utilidad de diagnóstico de WMI (WMIDiag.exe
) ya no se admite, a partir de Windows 8 y Windows Server 2012.
Windows 7, Windows Server 2008 R2, Windows Vista y Windows Server 2008:
Si WMI devuelve mensajes de error, tenga en cuenta que es posible que no indiquen problemas en el servicio WMI o en proveedores de WMI. Los errores se pueden originar en otras partes del sistema operativo y surgir como errores a través de WMI. En ninguna circunstancia debe eliminar el repositorio WMI como primer paso; porque eliminar el repositorio puede causar daños en el sistema o en las aplicaciones instaladas.
Anteriormente, para obtener más información sobre el origen del problema, podría descargar y ejecutar la herramienta de línea de comandos de diagnóstico de Utilidad de diagnóstico de WMI. Esta herramienta generó un informe que normalmente podría aislar el origen del problema y proporcionar instrucciones sobre cómo corregirlo. El informe también ayudó a los servicios de soporte técnico de Microsoft a ayudarle. El Utilidad de diagnóstico de WMI estaba disponible anteriormente en el Centro de descarga.
Como escritor de proveedores, es posible que también encuentre problemas de depuración a menos que escriba un proveedor desacoplado. Para obtener más información, consulta Proveedores de depuración.
Registro y seguimiento
Los archivos de registro de WMI ya no existen; se han reemplazado por Seguimiento de eventos para Windows (ETW). Para obtener más información, consulta Seguimiento de la actividad WMI, Registro de la actividad WMI y archivos de registro de WMI.
Solución de problemas en scripts y aplicaciones
WMI contiene un conjunto de clases para solucionar problemas de aplicaciones cliente que usan proveedores de WMI. Para obtener más información, consulta Solución de problemas de aplicaciones cliente WMI.
Cómo los proveedores y escritores pueden evitar problemas de WMI
Los escritores de proveedores pueden evitar muchos problemas (que aparecen en mensajes de error a través de WMI) mediante la realización de las siguientes acciones:
- Registrar el proveedor correctamente. Para obtener más información, consulte Registro de un proveedor.
- Agregar la instrucción #pragma autorecover al archivo MOF (Managed Object Format) que define las clases del proveedor.
Para obtener más información, consulta Proveedores de depuración, Proporcionar datos a WMI y Clases de configuración y solución de problemas del proveedor.
Acceso denegado
Los errores de acceso denegado notificados por scripts y aplicaciones que acceden a espacios de nombres y datos de WMI suelen estar en tres categorías. En la tabla siguiente se enumeran las tres categorías de errores junto con los problemas que pueden provocar y posibles soluciones.
Error | Posibles problemas | Solución |
---|---|---|
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE) Problema del firewall o servidor no disponible. |
El equipo realmente no existe o el Firewall de Windows está bloqueando la conexión. |
Conexión a Vista: netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes. Conexión a un nivel inferior: permita la regla "Administración remota" en el Firewall de Windows. |
0x80070005 E_ACCESS_DENIED Acceso denegado por la seguridad de DCOM. |
El usuario no tiene acceso remoto al equipo a través de DCOM. Normalmente, los errores de DCOM se producen al conectarse a un equipo remoto con una versión diferente del sistema operativo. |
Conceda al usuario los permisos Ejecución remota y Activación remota en dcomcnfg. Haga clic con el botón derecho en Mi PC -> Propiedades. En Seguridad COM, haga clic en "Editar límites" para ambas secciones. Conceda al usuario los permisos Acceso remoto, Ejecución remota y Activación remota. A continuación, vaya a Configuración de DCOM, busque "Instrumental de administración de Windows" y conceda al usuario que desee los permisos Ejecución remota y Activación remota. Para obtener más información, consulte Conexión entre diferentes sistemas operativos. |
0x80041003 WBEM_E_ACCESS_DENIED Acceso denegado por un proveedor |
El usuario no tiene permiso para realizar la operación en WMI. Esto puede ocurrir cuando se consultan determinadas clases como un usuario con derechos bajos, pero la mayoría de las veces ocurre cuando se intentan invocar métodos o cambiar instancias de WMI como un usuario con derechos bajos. El espacio de nombres al que se conecta está cifrado y el usuario está intentando conectarse con una conexión sin cifrar. |
Proporcione al usuario acceso con el control WMI (asegúrese de que tiene Remote_Access establecido en true). Conéctese usando un cliente que admita el cifrado. |
Normalmente, los errores de DCOM se producen al conectarse a un equipo remoto con una versión diferente del sistema operativo.
Los proveedores también pueden denegar el acceso a los datos en espacios de nombres específicos, o bien pueden requerir determinados niveles de seguridad de la conexión. Para obtener más información, consulte Establecimiento de la seguridad del proceso de aplicación cliente y Hospedaje y seguridad del proveedor.
Errores de acceso denegado debido a cambios en el Firewall de conexión a Internet (ICF).
Para obtener más información, consulte Configuración de una conexión WMI remota.
La seguridad de DCOM devuelve un error de acceso denegado cuando un cliente de baja integridad intenta acceder a WMI. Por ejemplo, un control ActiveX que se ejecuta en Internet Explorer, que tiene el nivel de seguridad establecido en bajo, no tiene acceso para realizar operaciones de WMI locales.
Windows 7: los usuarios de baja integridad tienen permisos de solo lectura para las operaciones de WMI locales.
Información sobre errores
Cuando recibe un mensaje de error de WMI, puede buscar el mensaje en Constantes de error de WMI o, para scripting, WbemErrorEnum. Sin embargo, la información proporcionada por el error por sí sola suele ser insuficiente para determinar lo que sucede. Los daños en el repositorio de WMI pueden enmascararse como clases o instancias "no encontradas".
Para obtener más información acerca de los errores de WMI:
- Los registros de WMI hacen un seguimiento de eventos desde el núcleo de WMI y desde los proveedores. Para obtener más información, consulte Seguimiento de la actividad de WMI.
- Use las clases de solución de problemas de WMI para comprobar el estado interno de WMI o recibir notificaciones de eventos de proveedor o del servicio WMI. Para obtener más información, consulte Clases de configuración y solución de problemas del proveedor y Solución de problemas de aplicaciones cliente de WMI.