Cursos
Ruta de aprendizaje
MD-100 Solución de problemas de las aplicaciones y el sistema operativo del cliente de Windows
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
WMI contiene un conjunto de clases para solucionar problemas de aplicaciones cliente que usan proveedores de WMI. Las clases de eventos de solución de problemas se emparejan con clases de eventos de WMI, de modo que puede realizar un seguimiento de la ejecución de la aplicación mediante un registro de eventos de solución de problemas capturados.
La lista siguiente contiene ejemplos de clases de eventos de solución de problemas:
Msft_WmiProvider_ExecMethodAsyncEvent_Pre
Se genera antes de que WMI llame a IWbemServices::ExecMethodAsync() en el proveedor.
Msft_WmiProvider_ExecMethodAsyncEvent_Post
Se genera después de que WMI llame a IWbemServices::ExecMethodAsync() en el proveedor.
En el procedimiento siguiente se muestra cómo solucionar problemas de ejecución de la aplicación.
Para configurar la solución de problemas de WMI
Otro enfoque de solución de problemas consiste en ver la lista de proveedores que se encuentran actualmente en la memoria caché del equipo mediante la enumeración de MSFT_Providers en el espacio de nombres root\cimv2. Hay métodos en esta clase que permiten cargar y descargar proveedores con fines de depuración o configuración.
En el ejemplo de código siguiente se usa el consumidor de eventos de registro de WMI para capturar todos los eventos de la clase de eventos principal, capturando así todos los eventos de operaciones del proveedor.
#pragma autorecover
#pragma namespace("\\\\.\\root\\subscription")
instance of __EventFilter as $Filter
{
Name = "ProviderOperationEvents" ;
EventNamespace = "root\\cimv2" ;
Query = "SELECT * FROM MSFT_WmiProvider_OperationEvent" ;
QueryLanguage = "WQL" ;
} ;
Instance of LogFileEventConsumer as $Consumer
{
Name = "ProviderOperationEvents" ;
FileName = "C:\\test.txt" ;
Text = "Operation - %__TEXT%" ;
} ;
instance of __FilterToConsumerBinding
{
Filter = $Filter ;
Consumer = $Consumer ;
MaintainSecurityContext = TRUE ;
} ;
Si los mensajes de error indican un error de carga del proveedor, use MSFT_WmiProvider_LoadOperationFailureEvent para identificar qué proveedor causó el error.
Cursos
Ruta de aprendizaje
MD-100 Solución de problemas de las aplicaciones y el sistema operativo del cliente de Windows