Les alertes “Workflow Runtime: Failed to run a process or script” ou “Workflow Runtime: Failed to run a WMI query” révèle un problème d’exécution d’une règle ou d’un moniteur.
1er cas: ce problème est ponctuel. Le champ repeat count de l’alerte est peu élevé et la dernière occurrence (champ Last Modified) n’est pas très récent:
Dans la plupart de ces cas, le workflow exécuté a l’origine de cette erreur n’a pas pu aboutir pour des problèmes ponctuels de performance ou de disponibilité de la machine cible. Vous pouvez essayez de faire le parallèle entre l’heure de l’alerte et les éventements présent dans les eventlog Application et Systeme de la machine cible.
2nd cas: Ce problème est récurrent. Le champ repeat count de l’alerte est élevé et la dernière occurrence (champ Last Modified) est récente: Cela signifie que le workflow concerné échoue systématiquement pour cette la machine cible.
Action:
Il est important de lire le champ Description de l'alerte pour voir plus de détail sur la commande ou la requête exécutée, le workflow impacté et la machine cible.
Exemples:
*************************************************************
Command executed: "C:\Windows\system32\cscript.exe" /nologo "IsHostingMSCS.vbs" {1C0CCF64-D32D-B64C-A66A-792E7F0934D6} {6E52A2D1-E55F-7E00-A150-D4CFAB747EFE} (…) (…)
Working Directory: C:\Program Files\System Center Operations Manager\Agent\Health Service State\Monitoring Host Temporary Files 2960\58276\
One or more workflows were affected by this.
Workflow name: System.Mom.BackwardCompatibility.Computer.IsHostingMSCS.Discovery
Instance name: Machine1.home.com
*************************************************************
***************************************************************
Object enumeration failed
Query: 'SELECT ServiceName, StartName, DisplayName FROM SqlService WHERE ServiceName="SQLAgent$REC_FR_CI_AS"'
HRESULT: 0x800706be
Details: The remote procedure call failed.
One or more workflows were affected by this.
Workflow name: Microsoft.SQLServer.2008.AgentDiscovery
Instance name: MSSQLSERVER
Instance ID: {6AD519E3-D3C0-7B1B-EE4A-92367A4CDCEC}
***************************************************************
Connectez vous sur la machine concernée par l’alerte
Pour les alertes concernant une erreur d’exécution d’un script, tentez d’exécutez dans une fenêtre de commande le script et les argument associés tel que la commande apparait dans le champ Description de l’alerte (Command Executed:…)
Les scripts de supervision des règles/moniteurs retourne dans la plupart des cas leurs données au format XML, ce qui signifie que le script a abouti a une transmission des données récoltées. Dans la cas contraire, le retour affiché par l’exécution de ce script peut être une erreur vbscript ou powershell lié au contenu du script lui-même.
Pour les alertes concernant une erreur d’exécution d’une requête wmi, vérifiez sur la machine que la requête wmi précisée dans le champ description de l'alerte (Query:…) peut être effectuée.
=> Utilisez wbemtest.exe présent nativement sur tout les OS Windows pour exécutez la requête wmi.
De plus le code situé apres “HRESULT” dans la description de l’alerte indique le type d’erreur wmi. ces types sont disponible sur le lien http://msdn.microsoft.com/en-us/library/aa394559%28v=vs.85%29.aspx