Le client Configuration Manager (SCCM) propose par défaut 10 actions accessibles via les propriétés de l’application client. Si ces actions ne sont pas disponibles dans l’interface du client, cela indique que le client SCCM est potentiellement en mauvaise santé.
Il est possible de déclencher manuellement chacune de ces actions depuis un poste client SCCM, en les sélectionnant depuis la liste ci-dessous.
Liste des Actions Client SCCM
Voici les actions disponibles :
- Cycle d’évaluation de déploiement d’application
- Cycle de collecte des données de découverte
- Cycle de collecte de fichiers
- Cycle d’inventaire matériel
- Cycle de récupération et d’évaluation de la stratégie machine
- Cycle d’inventaire des logiciels
- Cycle de rapport d’utilisation de la métrologie logicielle
- Cycle d’évaluation du déploiement des mises à jour logicielles
- Cycle de récupération et d’évaluation de la stratégie utilisateur
- Cycle de mise à jour de la liste des sources de Windows Installer
Identifiants des Actions (Schedule ID)
Chaque action du client SCCM est liée à un identifiant unique (Trigger Schedule ID), que vous pouvez utiliser dans un script PowerShell pour lancer l’action correspondante. Voici le tableau de correspondance :
ID de Planification | Nom de l’Action |
---|---|
{00000000-0000-0000-0000-000000000021} | Récupération et évaluation de la stratégie machine |
{00000000-0000-0000-0000-000000000022} | Évaluation de la stratégie machine |
{00000000-0000-0000-0000-000000000001} | Inventaire matériel |
{00000000-0000-0000-0000-000000000002} | Inventaire logiciel |
{00000000-0000-0000-0000-000000000003} | Collecte des données de découverte |
{00000000-0000-0000-0000-000000000113} | Analyse des mises à jour logicielles |
{00000000-0000-0000-0000-000000000114} | Évaluation du déploiement des mises à jour |
{00000000-0000-0000-0000-000000000031} | Rapport d’utilisation des logiciels |
{00000000-0000-0000-0000-000000000121} | Évaluation de déploiement d’application |
{00000000-0000-0000-0000-000000000026} | Récupération de la stratégie utilisateur |
{00000000-0000-0000-0000-000000000027} | Évaluation de la stratégie utilisateur |
{00000000-0000-0000-0000-000000000032} | Mise à jour de la liste des sources Windows Installer |
{00000000-0000-0000-0000-000000000010} | Collecte de fichiers |
Déclencher une Action SCCM avec PowerShell
Exemple : Action locale (machine actuelle)
Voici comment déclencher le cycle de récupération et d’évaluation de la stratégie machine sur un poste local :
powershellCopyEditInvoke-WmiMethod -Namespace root\ccm -Class sms_client -Name TriggerSchedule "{00000000-0000-0000-0000-000000000021}"
Exemple : Action sur une machine distante
Pour exécuter la même action sur un poste distant :
powershellCopyEditInvoke-WmiMethod -ComputerName "NomDeLaMachine" -Namespace root\ccm -Class sms_client -Name TriggerSchedule "{00000000-0000-0000-0000-000000000021}"
Il est également possible d’utiliser Enter-PSSession
:
powershellCopyEditEnter-PSSession "NomDeLaMachine"
Invoke-WmiMethod -Namespace root\ccm -Class sms_client -Name TriggerSchedule "{00000000-0000-0000-0000-000000000021}"
💡 Astuce : Vérifiez que le service WinRM (Windows Remote Management) est activé sur les machines distantes pour que l’exécution à distance fonctionne.
Script PowerShell : Déclencher Plusieurs Actions sur une Machine Locale
Voici un script PowerShell permettant de déclencher plusieurs actions SCCM à la fois sur un poste local :
powershellCopyEdit# Script : Rafraîchissement des politiques SCCM (local)
# Prérequis : Exécution des scripts PowerShell autorisée (Set-ExecutionPolicy Unrestricted)
cls
$ActionsSCCM = @(
"{00000000-0000-0000-0000-000000000021}", # Stratégie machine
"{00000000-0000-0000-0000-000000000003}", # Découverte
"{00000000-0000-0000-0000-000000000071}", # Évaluation de conformité
"{00000000-0000-0000-0000-000000000121}", # Déploiement d'application
"{00000000-0000-0000-0000-000000000001}", # Inventaire matériel
"{00000000-0000-0000-0000-000000000108}", # Déploiement de mises à jour
"{00000000-0000-0000-0000-000000000113}", # Analyse des mises à jour
"{00000000-0000-0000-0000-000000000002}" # Inventaire logiciel
)
foreach ($action in $ActionsSCCM) {
Invoke-WmiMethod -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule $action
}
Script PowerShell : Déclencher les Actions sur Plusieurs Machines Distantes
Ce script lit une liste de noms d’hôtes depuis un fichier texte et exécute les actions SCCM sur chacune d’entre elles :
powershellCopyEdit# Script : Rafraîchissement des politiques SCCM (distantes)
# Prérequis :
# 1. Exécution des scripts PowerShell autorisée
# 2. WinRM activé sur les machines distantes
# 3. Fichier c:\temp\hostnames.txt contenant la liste des noms d’hôtes
cls
$ListeMachines = Get-Content "c:\temp\hostnames.txt"
$ActionsSCCM = @(
"{00000000-0000-0000-0000-000000000021}",
"{00000000-0000-0000-0000-000000000003}",
"{00000000-0000-0000-0000-000000000071}",
"{00000000-0000-0000-0000-000000000121}",
"{00000000-0000-0000-0000-000000000001}",
"{00000000-0000-0000-0000-000000000108}",
"{00000000-0000-0000-0000-000000000113}",
"{00000000-0000-0000-0000-000000000002}"
)
foreach ($machine in $ListeMachines) {
Invoke-Command -ComputerName $machine -ScriptBlock {
param($Actions)
foreach ($action in $Actions) {
Invoke-WmiMethod -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule $action
}
} -ArgumentList ($ActionsSCCM)
}
Résultat de l’Exécution
Lorsque les scripts sont exécutés avec succès, les journaux clients SCCM enregistreront l’activité pour chaque action déclenchée. Ces journaux peuvent être consultés pour vérifier l’état des différentes tâches lancées.