Échec des séquences OSD et de tâche après la restauration d’un site central Configuration Manager 2007 à partir d’une sauvegarde

Cet article fournit une solution à un problème dans lequel le déploiement du système d’exploitation et les séquences de tâches ne fonctionnent plus après la restauration de System Center Configuration Manager 2007 à partir d’une sauvegarde.

Version du produit d’origine :   System Center Configuration Manager 2007
Numéro de la base de connaissances initiale :   2509330

Symptômes

Lors de l’utilisation de System Center Configuration Manager 2007 et de la restauration à partir d’une sauvegarde créée via la tâche de maintenance serveur de site ConfigMgr de sauvegarde , l’OSD et les séquences de tâches ne fonctionnent plus si la restauration a été effectuée après une réinstallation du système d’exploitation Windows sur le serveur ou une restauration sur le nouveau matériel de serveur. L’obtention de SMSTS. log à partir d’un ordinateur client défectueux révèle les erreurs suivantes :

Corps de la stratégie d’analyse.TSMBootstrap
( ! sNetworkAccessAccount. Empty ()) && ( ! sNetworkAccessPassword. Empty ()), HRESULT = 80040101 (e:\ nts_sms_fre \sms\framework\tscore\tspolicy.cpp, 1518) TSMBootstrap
NetworkAccessUsername/NetworkAccessPassword vide trouvé à partir de NAAConfig CCM_NetworkAccessAccount TSMBootstrap
GetEncodedNetworkAccessAccount (sEncodedAccount, sEncodedPassword), HRESULT = 80040101 (e:\ nts_sms_fre \sms\framework\tscore\tspolicy.cpp, 1544) TSMBootstrap
Le compte d’accès réseau n’est pas défini TSMBootstrap
GetNetworkAccessAccount (sNetworkAccessAccount, sNetworkAccessPassword), HRESULT = 80040101 (e:\ nts_sms_fre \sms\framework\tscore\tspolicy.cpp, 1597) TSMBootstrap
pTSPolicyManager->GetContentLocations (m_sPackageID, m_lSourceVersion, m_dwContentSourceFlags, slistContentLocations, slistHttpContentLocations, slistMulticastContentLocations, m_dwContentPackageFlags), HRESULT = 80040101 (e:\ nts_sms_fre \sms\framework\tscore\tspolicy.cpp, 2330) TSMBootstrap
(* iTSReference)->résoudre (pTSPolicyManager, dwResolveFlags), HRESULT = 80040101 (e:\ nts_sms_fre \sms\framework\tscore\tspolicy.cpp, 2862) TSMBootstrap
m_pSelectedTaskSequence->résoudre (m_pPolicyManager, TS ::P olicy :: TaskSequence :: ResolvePolicy | TS ::P olicy :: TaskSequence :: ResolveSource, fpCallbackProc, PV, hCancelEvent), HRESULT = 80040101 (e:\ nts_sms_fre \sms\client\tasksequence\tsmbootstrap\tsmediawizardcontrol.cpp, 1208) TSMBootstrap
Échec de la résolution des dépendances de séquence de tâches sélectionnées. Code (0x80040101) TSMBootstrap hrReturn, HRESULT = 80040101 (e:\ nts_sms_fre \sms\client\tasksequence\tsmbootstrap\tsmediaresolveprogresspage.cpp, 408) TSMBootstrap
ThreadToResolveAndExecuteTaskSequence a échoué. Code (0x80040101) TSMBootstrap
ThreadToResolveAndExecuteTaskSequence code renvoyé 0x80040101 TSMBootstrap
Erreur de l’Assistant Définition : échec de la lecture du compte d’accès réseau à partir de la stratégie ordinateur. Pour plus d’informations, contactez votre administrateur système ou votre opérateur de support technique.TSMBootstrap

L’examen du fichier SMSTS. log ci-dessus semble révéler que le compte d’accès au réseau n’est pas défini. Le compte d’accès réseau est nécessaire pour que la séquence des tâches accède aux ressources réseau car l’ordinateur client dans l’environnement de préinstallation Windows (WinPE) est l’équivalent d’un ordinateur de groupe de travail non joint à un domaine.

Notes

Pour plus d’informations sur le compte d’accès réseau, consultez les articles suivants :

Consulter les Propriétés de l' agent client de l’ordinateur dans la console d’administration ConfigMgr 2007 sous les Site Settings > agents clients des paramètres du site révèle que le compte d’accès au réseau est défini. La réinitialisation du compte d’accès réseau dans les Propriétés de l' agent client de l’ordinateur en entrant de nouveau le nom d’utilisateur et le mot de passe du compte d’accès réseau semble résoudre l’erreur, mais engendre une nouvelle erreur dans smsts. log. La révision de SMSTS. log sur l’ordinateur client ayant échoué révèle l’erreur suivante :

Décompression du corps de la réponse.TSMBootstrap
::D ecompressBuffer (65536) TSMBootstrap
Décompression (zlib) réussie : taille d’origine 476, taille non compressée 2568.TSMBootstrap
CryptMsgControl (hMsg, 0, CMSG_CTRL_VERIFY_SIGNATURE, pCert->pCertInfo), HRESULT = 8009100e (e:\ nts_sms_fre \sms\framework\osdmessaging\libcrypt.cpp, 351) TSMBootstrap
échec de la signature vArification TSMBootstrap
ipCertContext ! = listpServerCertContext. end (), HRESULT = 80004005 (e:\ nts_sms_fre \sms\framework\osdmessaging\libsmsmessaging.cpp, 2476) TSMBootstrap
échec de vérification de signature :  <signature>   TSMBootstrap
SPRequest (sReply, true), HRESULT = 80004005 (e:\ nts_sms_fre \sms\framework\osdmessaging\libsmsmessaging.cpp, 5010) TSMBootstrap
Échec de l’obtention de l’identité client (80004005) TSMBootstrap
ClientIdentity. RequestClientIdentity (), HRESULT = 80004005 (e:\ nts_sms_fre \sms\client\tasksequence\tsmbootstrap\tsmediawizardcontrol.cpp, 815) TSMBootstrap
échec de la demande de sortie de TSMediaWizardControl :: GetPolicy.TSMBootstrap
échec de la demande pour pWelcomePage->m_pTSMediaWizardControl->GetPolicy (), HRESULT = 80004005 (e:\ nts_sms_fre \sms\client\tasksequence\tsmbootstrap\tsmediawelcomepage.cpp, 280) TSMBootstrap
échec de la demande de définition de l’erreur de l’Assistant : une erreur s’est produite lors de la récupération de la stratégie pour cet ordinateur (0x80004005). Pour plus d’informations, contactez votre administrateur système ou votre opérateur de support technique.TSMBootstrap

Cause

Ce problème est dû à la sauvegarde restaurant le dossier srvacct à partir de l’installation ConfigMgr 2007 d’origine au lieu de conserver le dossier srvacct de la nouvelle installation de ConfigMgr 2007. Le dossier srvacct se trouve à la racine du répertoire où ConfigMgr 2007 est installé. En règle générale, ce dossier contient un fichier texte portant le nom srvacct. <site_code>. Le fichier texte possède les clés publiques qui, associées aux clés privées stockées dans le système d’exploitation Windows, lui permet de déchiffrer les informations de compte de service (nom d’utilisateur/mot de passe) qui inclut le compte d’accès réseau.

Lors de l’installation d’un système d’exploitation Windows, par le biais d’une réinstallation du système d’exploitation ou de l’installation sur un nouveau matériel, de nouvelles clés privées sont générées dans le système d’exploitation Windows lorsque ConfigMgr 2007 est installé. Les clés publiques applicables qui correspondent aux clés privées sont ensuite générées et stockées dans le dossier srvacct dans le fichier srvacct. <site_code>. Si une sauvegarde restaure le dossier srvacct à partir d’une autre instance du système d’exploitation Windows, les clés publiques dans le dossier srvacct. <site_code> ne correspondent plus aux clés privées dans le système d’exploitation Windows. Cette opération entraîne l’utilisation de l’information pour tout compte de service utilisé par ConfigMgr 2007, y compris le compte d’accès réseau, et non déchiffrée et utilisée.

Ce problème peut également entraîner des problèmes dans d’autres domaines de ConfigMgr 2007, à l’exception des séquences de tâches et de l’OSD. Les comptes de service ne sont généralement pas utilisés dans ConfigMgr 2007 étant donné que la plupart des opérations utilisent le compte d’ordinateur du serveur du système/site. La seule exception à cette règle est le compte d’accès réseau qui est requis par les séquences de tâches lors de l’exécution dans WinPE et la raison pour laquelle ce problème a un impact important sur l’OSD.

Les comptes de service peuvent être utilisés à la place du compte d’ordinateur du serveur système/de site dans d’autres domaines de ConfigMgr 2007, à l’exception des séquences de tâches et de l’OSD. Pour obtenir la liste des différentes zones de ConfigMgr 2007 qui peuvent être configurées de manière facultative pour utiliser des comptes de service, et qui peuvent être affectées par ce problème, consultez les articles suivants :

Les deux autres zones qui seraient le plus susceptibles d’être affectées par ce problème autre que OSD seraient l’utilisation de comptes d’adresse de site (le fait que les sites ne puissent pas communiquer entre eux) et les comptes d’accès à la base de données (les rôles de site ne peuvent pas accéder à la base de données). Le problème est principalement observé avec l’OSD car un compte de service (le compte d’accès réseau) est toujours nécessaire et utilisé.

Résolution

Pour résoudre le problème, le site ConfigMgr 2007 doit être réinstallé de toutes pièces. Le site ConfigMgr 2007 restauré actuel ne peut pas être utilisé, car le dossier srvacct d’origine n’existe plus.

  1. Nettoyez le serveur et réinstallez le système d’exploitation Windows.

  2. Installez ConfigMgr 2007 à l’aide de procédures normales. Ne pas restaurer à partir d’une sauvegarde.

  3. Avant de procéder à la restauration à partir de la sauvegarde créée via la tâche de maintenance serveur de site ConfigMgr , copiez et sauvegardez manuellement le dossier srvacct situé au niveau racine du répertoire ConfigMgr 2007, puis installez-le à un emplacement où il pourra être restauré par la suite.

  4. Utilisation des procédures normales restauration à partir de la sauvegarde créée via la tâche de maintenance serveur de site ConfigMgr . Pour plus d’informations, consultez la rubrique How to Repair a central site.

  5. Une fois la restauration de la sauvegarde terminée, renommez le dossier srvacct restauré situé au niveau racine de l’emplacement d’installation de ConfigMgr 2007.

  6. Copiez le dossier srvacct sauvegardé à l’étape 3 au niveau racine de l’emplacement d’installation de ConfigMgr 2007.

  7. Effectuez une réinitialisation du site sur le serveur en suivant les instructions indiquées dans How to perform a site Reset.

  8. Une fois la réinitialisation du site terminée, dans la console d’administration ConfigMgr 2007, accédez à gestion des sites > **<Site_Code ** > Site Settings > agents clientsdes paramètres du site>. Dans le volet droit, cliquez avec le bouton droit sur agent client agent , puis choisissez Propriétés.

  9. Dans la fenêtre des propriétés de l' agent client de l’ordinateur, sélectionnez l’onglet général et examinez le compte utilisé sous la section compte d’accès réseau . Assurez-vous que le compte utilisé est indiqué et que le mot de passe du compte est connu.

  10. Une fois que les informations du compte d’accès réseau ont été confirmées, dans la fenêtre de propriétés de l' agent client de l’ordinateur sous l’onglet général , sélectionnez le bouton Effacer dans la section compte d’accès réseau , puis cliquez sur le bouton appliquer . Une fois que les informations du compte d’accès réseau ont été effacées, sélectionnez le bouton Set... sous la section compte d’accès réseau .

  11. Dans la fenêtre compte d’utilisateur Windows , entrez le nom d’utilisateur et le mot de passe du compte d’accès réseau, comme indiqué à l’étape 9, puis cliquez sur le bouton OK .

  12. Dans la fenêtre Propriétés de l' agent client , cliquez sur le bouton OK .

Notes

Si la solution ci-dessus est utilisée pour résoudre le problème pour un composant autre que OSD (par exemple, des comptes d’adresse de site ou des comptes de connexion de base de données), dans les étapes 8-9, accédez à la section appropriée dans la console d’administration ConfigMgr 2007 (par exemple, les adresses ou propriétés des rôles de systèmes de site) et réinitialisez les 10-12 comptes de service appropriés

Informations supplémentaires

Si nécessaire, le problème ci-dessus peut être résolu sans qu’il soit nécessaire de réinstaller Windows et ConfigMgr 2007 sur le serveur. Cette opération peut être réalisée via un outil appelé CryptImportKey.exe .

Pour résoudre le problème à l’aide de cet outil :

  1. Exécutez l' CryptImportKey.exe outil sur le serveur en tant que System.

    Notes

    Cet outil doit être correctement exécuté.Si elle échoue, vérifiez qu’elle est exécutée en tant que compte système local.

  2. Effectuez une réinitialisation du site sur le serveur en suivant les instructions indiquées dans How to perform a site Reset.

  3. Une fois la réinitialisation du site terminée, dans la console d’administration ConfigMgr 2007, accédez à gestion des sites > **<Site_Code ** > Site Settings > agents clientsdes paramètres du site>. Dans le volet droit, cliquez avec le bouton droit sur agent client agent , puis choisissez Propriétés.

  4. Dans la fenêtre des propriétés de l' agent client de l’ordinateur, sélectionnez l’onglet général et examinez le compte utilisé sous la section compte d’accès réseau . Assurez-vous que le compte utilisé est indiqué et que le mot de passe du compte est connu.

  5. Une fois que les informations du compte d’accès réseau ont été confirmées, dans la fenêtre de propriétés de l' agent client de l’ordinateur sous l’onglet général , sélectionnez le bouton Effacer dans la section compte d’accès réseau , puis cliquez sur le bouton appliquer . Une fois que les informations du compte d’accès réseau ont été effacées, sélectionnez le bouton Set... sous la section compte d’accès réseau .

  6. Dans la fenêtre compte d’utilisateur Windows , entrez le nom d’utilisateur et le mot de passe du compte d’accès réseau, comme indiqué à l’étape 9 de la section résolution , puis cliquez sur le bouton OK .

  7. Dans la fenêtre Propriétés de l' agent client , cliquez sur le bouton OK .

Notes

Si la solution ci-dessus est utilisée pour résoudre le problème pour un composant autre que OSD (par exemple, des comptes d’adresse de site ou des comptes de connexion de base de données), dans les étapes 3-4, accédez à la section appropriée dans la console d’administration ConfigMgr 2007 (par exemple, les adresses ou propriétés des rôles de systèmes de site) et réinitialisez les 5-7 comptes de service appropriés