La séquence de tâches échoue dans Configuration Manager si les mises à jour logicielles nécessitent plusieurs redémarrages

Cet article fournit les informations permettant de résoudre le problème lié au fait que l’erreur de l’environnement de séquence de tâches introuvable se produit lors de l’utilisation d’une séquence de tâches Configuration Manager.

Version d’origine du produit : Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager, Configuration Manager (Current Branch)
Numéro de la base de connaissances d’origine : 2894518

Résumé

Le problème est résolu dans la Mise à jour cumulative 3 pour System Center 2012 Configuration Manager Service Pack 2 et System Center 2012 R2 Configuration Manager Service Pack 1, et dans Configuration Manager current branch version 1602.

Une nouvelle variable de séquence de tâches facultative, , SMSTSWaitForSecondRebootest disponible pour mieux contrôler le comportement du client lorsqu’une installation de mise à jour logicielle nécessite deux redémarrages.

Pour plus d’informations, consultez la section Gestion des mises à jour logicielles/déploiement de système d’exploitation dans Description de la mise à jour cumulative 3 pour Configuration Manager.

Pour Configuration Manager Current Branch, consultez Variables de séquence de tâches.

Symptômes

Supposons qu’une séquence de tâches Configuration Manager qui utilise l’étape Installer le logiciel Mises à jour installe une mise à jour logicielle qui déclenche plusieurs redémarrages après que la séquence de tâches a correctement exécuté la tâche Installer le logiciel Mises à jour. Dans ce cas, la séquence de tâches peut échouer et générer le message d’erreur suivant :

Environnement de séquence de tâches introuvable

Remarque

Vous pouvez éviter ce problème dans Configuration Manager en utilisant la nouvelle option Réessayer de l’étape de séquence de tâches Installer le logiciel Mises à jour.

Cause

Le premier redémarrage initié par la mise à jour logicielle est contrôlé par la séquence de tâches. Toutefois, la deuxième demande de redémarrage est lancée par un composant Windows (généralement, Component-Based Maintenance) et n’est pas contrôlée par la séquence de tâches. Par conséquent, l’état d’exécution de la séquence de tâches n’est pas enregistré avant le redémarrage, car le deuxième redémarrage n’est pas contrôlé par la séquence de tâches. Lorsque la séquence de tâches reprend après le deuxième redémarrage, aucun état n’est disponible pour continuer correctement.

Résolution

Pour résoudre ce problème, nous vous recommandons d’appliquer toutes les mises à jour qui nécessitent des redémarrages doubles à l’aide de la fonctionnalité de mises à jour logicielles habituelles de Configuration Manager au lieu d’utiliser des séquences de tâches. Les mises à jour logicielles suivantes nécessitent plusieurs redémarrages.

Plus d’informations

Étant donné que ce deuxième redémarrage n’est pas contrôlé par la séquence de tâches, aucun état d’exécution n’est enregistré avant le redémarrage. Lorsque la séquence de tâches reprend après le redémarrage, aucun état n’est disponible pour continuer correctement. En outre, le message suivant peut être enregistré dans le fichier Smsts.log lorsque vous rencontrez ce problème :

!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
TS ::Utility ::GetTSMDataPath( sDataDir ), HRESULT=80070002
Échec de la définition du répertoire du journal. Certains historiques d’exécution peuvent être perdus.
Le fichier spécifié est introuvable. (Erreur : 80070002 ; Source : Windows)
Exécution de la séquence de tâches
!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
Environnement de séquence de tâches introuvable

En outre, les clients qui exécutent des versions de version antérieures à Microsoft System Center 2012 Configuration Manager Service Pack 1 peuvent contenir l’entrée de journal suivante :

Séquence de tâches terminée dans Windows PE.

L’ordinateur client peut également être bloqué en mode d’approvisionnement après l’échec de la séquence de tâches. Pour déterminer si l’ordinateur est en mode d’approvisionnement, case activée la sous-clé de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\CcmExec Registre.

ProvisioningMode doit avoir la valeur false. S’il est défini sur true, utilisez l’une des méthodes suivantes pour sortir le client du mode d’approvisionnement :

  • Utilisez la méthode SetClientProvisioningMode WMI (Windows Management Instrumentation) pour sortir correctement le client du mode d’approvisionnement. Le moyen le plus simple consiste à exécuter la commande Windows PowerShell suivante :

    Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    

    Vous pouvez également exécuter la commande suivante à une invite de commandes avec élévation de privilèges :

    powershell Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    
  • Réinstallez le client.

Importante

N’essayez pas de corriger le client en remplaçant la valeur de ProvisioningMode sur false. Cette action ne sortira pas complètement le client du mode d’approvisionnement.