Suivre le déroulement d’une séquence de taches depuis la console MECM

Temps de lecture : 7 mins
Description de l'image
Romain Richevaux Ingénieur Systèmes MECM
17 novembre 2020

S’assurer qu’une séquence de tâches (TS) s’est bien déroulée, repérer rapidement les Steps en erreur. Cette tâche s’effectue en général en épluchant le fichier SMSTS.LOG sur le poste client (encore faut-il pouvoir accéder au poste client), ou en scrutant le rapport « History of a task sequence deployment on a computer » (à condition d’avoir installé un report service).

De plus trouver rapidement la tâche qui s’est exécuté en erreur n’est pas toujours chose aisée.

Toutefois il existe une fonctionnalité, native de la console, qui est souvent sous-exploitée et pourtant bien utile : Les « Status Message queries »

Vous les trouvez dans la zone « Monitoring » de votre console dans la section « System Status »

Déroulement séquence de taches MECM
Source personnel
Déroulement séquence de tâches MECM
Source personnel

La console embarque nativement toute une série de requêtes prédéfinies, mais il est aussi tout à fait possible de créer ses propres requêtes pour nous permettre de suivre le statut des tâches sur un poste client, connaitre les postes qui ont commencé une TS, connaitre les postes qui ont terminé une TS.

Connaitre les postes qui ont commencé une séquence de tâche

Pourquoi cette requête, me direz-vous ?

Tout simplement parce que lorsque vous exécutez une TS  d’installation de système et que celle-ci est déployée pour s’exécuter sur les postes inconnus, vous ne connaissez justement pas le nom du poste pour lequel vous souhaitez avoir le détail de l’exécution de la TS. Le système génère un nom de machine aléatoire de la forme : MININT-XXXXXXX

Cette requête vous permet donc de connaitre ces noms de machine.

Pour cela vous allez créer une nouvelle « Status message Query » que vous nommerez selon vos règles de nommage en vigueur.

Déroulement séquence de taches MECM
Source personnel

Puis vous afficherez l’éditeur de requêtes : « Edit Query Statement…»

Déroulement séquence de taches MECM
Source personnel

En préférant l’interface WQL : « Show Query Language »

Déroulement séquence de tache MECM
Source personnel
Déroulement séquence de taches MECM
Source personnel

Et c’est là que vous allez renseigner votre formule magique, sous la forme :

select
stat.*,
ins.*,
att1.*,
att1.AttributeTime
from  SMS_StatusMessage as stat
left join SMS_StatMsgInsStrings as ins on ins.RecordID = stat.RecordID
left join SMS_StatMsgAttributes as att1 on att1.RecordID = stat.RecordID
inner join SMS_StatMsgAttributes as att2 on att2.RecordID = stat.RecordID where att2.AttributeID = 400 and stat.MessageID = 11140
and att2.AttributeValue in ("<taskSequenceID1>","<tasksequenceID2>",…,"<tasksequenceIDn>")
and stat.SiteCode = "ABC"
and att2.AttributeTime >= ##PRM:SMS_StatMsgAttributes.AttributeTime##
order by att1.AttributeTime DESC

Bien évidemment vous remplacerez le siteCode par le vôtre et compléterez la liste des séquences de tâches que vous souhaitez cibler par les PackageID de vos TS (sous forme ABC00000)

Lorsque vous exécuterez votre Status message query (SMQ) il vous suffira de renseigner la période sur laquelle vous souhaitez collecter les informations.

Déroulement sequence de tache MECM
Source personnel
Déroulement séquence de taches MECM
Source personnel
Déroulement séquence de taches MECM
Source personnel

Cette requête vous est utile pour récupérer le nom de la machine que vous souhaitez monitorer.

Suivre le statut des tâches d’une TS pour une machine

De la même façon que pour la requête précédente, vous allez pouvoir créer une nouvelle SMQ afin de lister le statut de chacune des étapes d’une TS d’installation système pour une machine donnée.

Cette fois-ci la requête aura la forme :

select
stat.*,
ins.*,
att1.*,
att1.AttributeTime
from  SMS_StatusMessage as stat
left join SMS_StatMsgInsStrings as ins on ins.RecordID = stat.RecordID
left join SMS_StatMsgAttributes as att1 on att1.RecordID = stat.RecordID
inner join SMS_StatMsgAttributes as att2 on att2.RecordID = stat.RecordID
where att2.AttributeID = 400
and stat.MachineName = ##PRM:SMS_StatusMessage.MachineName##
and att2.AttributeValue in ("<taskSequenceID1>","<tasksequenceID2>",…,"<tasksequenceIDn>")
and stat.SiteCode = " ABC "
and att2.AttributeTime >= ##PRM:SMS_StatMsgAttributes.AttributeTime##
order by att1.AttributeTime DESC

Bien évidemment vous remplacerez le siteCode par le vôtre et compléterez la liste des séquences de tâches que vous souhaitez cibler par les PackageID de vos TS (sous forme ABC00000)

Lorsque vous exécuterez votre Status message query (SMQ) il vous suffira de renseigner la période sur laquelle vous souhaitez collecter les informations et le nom de la machine que vous souhaitez monitorer.

Source personnel
Source personnel

Vous constaterez que les étapes en erreur sont rapidement identifiables grâce à l’icone  ❌

Il ne vous reste plus qu’à regarder le détail de ce statut pour commencer à résoudre l’erreur.

Connaitre les postes qui ont terminé une TS

Cette requête vous permettra d’avoir la liste des machines qui ont terminé les TS que vous souhaitez monitorer sur une période de temps.

Assez utile pour avoir un aperçu de l’activité.

select
stat.*,
ins.*,
att1.*,
att1.AttributeTime
from  SMS_StatusMessage as stat
left join SMS_StatMsgInsStrings as ins on ins.RecordID = stat.RecordID
left join SMS_StatMsgAttributes as att1 on att1.RecordID = stat.RecordID
inner join SMS_StatMsgAttributes as att2 on att2.RecordID = stat.RecordID
where att2.AttributeID = 400
and stat.MessageID = 11171
and att2.AttributeValue in ("<taskSequenceID1>","<tasksequenceID2>",…,"<tasksequenceIDn>")
and stat.SiteCode = " ABC "
and att2.AttributeTime >= ##PRM:SMS_StatMsgAttributes.AttributeTime##
order by att1.AttributeTime DESC
Source personnel

Je suis certain que ces nouvelles SMQ vous seront très utiles pour rapidement résoudre les incidents de TS.

Articles Similaires

Synapsys, partenaire du CRiP (Club des Décideurs IT)

Synapsys est fier d'annoncer son partenariat officiel avec le Club des Responsables de l'Infrastructure et Production (CRiP), un réseau professionnel...

SCCM à l’ère Intune : co-management ou migration ?

Le co-management permet de fusionner les capacités de gestion d'Intune avec les compétences robustes de SCCM. Cette synergie offre aux...

SCCM vs Intune : quel avenir pour la gestion unifiée des appareils ?

Au fil des années, Intune est devenu une solution de gestion de dispositifs mobiles (MDM) de premier plan, offrant de...