Comment réinitialiser le mot de passe du Mode de restauration du Service d’Annuaire (DSRM)

Le mot de passe du Mode de restauration des Services d’annuaire (DSRM) est défini pour la première fois lors de la promotion d’un nouveau Contrôleur de domaine. J’ai rencontré de nombreux environnements Active Directory où le mot de passe DSRM des contrôleurs de domaine n’est pas connu ou stocké en toute sécurité pour être récupéré en cas de besoin.

Les contrôleurs de domaine ne disposent pas d’un compte administrateur local qui peut être utilisé pour se connecter localement à tout moment, comme sur les postes de travail et les serveurs. En cas de défaillance d’Active Directory sur le contrôleur de domaine, il se peut que vous ne puissiez pas vous connecter au serveur à l’aide de vos informations d’identification de domaine pour réparer Active Directory.

Le mode de restauration des services d’annuaire (DSRM) est une option de démarrage pour un contrôleur de domaine, qui vous permet de vous connecter au serveur même en cas d’échec d’Active Directory. Vous utiliserez un compte similaire au compte administrateur local d’un poste de travail ou d’un serveur. Pour vous connecter au contrôleur de domaine après avoir démarré dans DSRM, entrez.\administrateur comme nom d’utilisateur avec le mot de passe DSRM, comme indiqué dans les images ci-dessous. Cela vous connecte localement sans accès aux ressources du domaine.

Écran de connexion

Connecté avec le mot de passe DSRM

Le mot de passe DSRM est unique à chaque contrôleur de domaine, vous devez donc passer par le processus de réinitialisation du mot de passe DSRM pour chaque contrôleur de domaine de votre environnement. Le mot de passe DSRM ne peut pas être réinitialisé lorsque le contrôleur de domaine est démarré dans DSRM.

Je vais maintenant vous guider à travers les étapes pour réinitialiser le mot de passe DSRM.

NTDSUTIL

La commande NTDSUTIL est utilisée pour réinitialiser le mot de passe DSRM. Cet utilitaire peut être utilisé à partir de l’invite de commande et fonctionne également dans Windows PowerShell.

Les étapes à suivre dans l’invite de commande ou Windows PowerShell sont les suivantes:

  • ntdsutil
  • définir le mot de passe dsrm

Vous verrez maintenant l’invite « Réinitialiser le mot de passe administrateur DSRM ».

Réinitialiser l’invite de mot de passe administrateur DSRM

À cette invite, vous avez le choix entre deux paramètres pour terminer la réinitialisation du mot de passe DSRM:

  • Réinitialiser le mot de passe sur le serveur %s
  • Synchroniser à partir du compte de domaine %s

Je vais suivre les étapes avec chacun de ces paramètres pour démontrer les différences entre eux.

Réinitialiser le mot de passe sur le serveur %s

Un nom de contrôleur de domaine distant peut être spécifié, ce qui signifie que cela peut être complété à partir de n’importe quel périphérique sur lequel les outils de services Active Directory sont installés. %s est un espace réservé pour le nom du serveur. Cela peut également être complété pour le serveur local lorsqu’il est connecté à un contrôleur de domaine. Voici quelques exemples :

Serveur distant: réinitialiser le mot de passe sur le serveur dcs001p01

Serveur local: réinitialiser le mot de passe sur le serveur null

Entrez le nouveau mot de passe DSRM et répétez l’opération pour confirmer le nouveau mot de passe après avoir entré le mot de passe de réinitialisation sur le serveur %s. Entrez q deux fois pour quitter l’utilitaire NTDSUTIL.

réinitialiser le mot de passe sur le serveur dcs001p01

réinitialiser le mot de passe sur le serveur null

Les étapes peuvent également être saisies sur une seule ligne, à l’exception du mot de passe qui doit encore être entré dans les invites.

ntdsutil « définir le mot de passe dsrm » « réinitialiser le mot de passe sur le serveur dcs001p01 » « q » »q »

Synchronisation à partir du compte de domaine %s

Une autre option consiste à utiliser le paramètre synchronisation à partir du compte de domaine %s. %s est un espace réservé pour un compte d’utilisateur de domaine. Au lieu de spécifier le mot de passe DSRM pendant le processus, vous synchronisez le nouveau mot de passe DSRM du contrôleur de domaine local avec le mot de passe du compte d’utilisateur de domaine spécifié.

Il s’agit d’une synchronisation de mot de passe à usage unique lors de l’exécution de la réinitialisation, le mot de passe n’est pas synchronisé avec le compte utilisateur. Le mot de passe DSRM ne changera pas lorsque vous réinitialiserez le mot de passe du compte utilisateur. Le mot de passe DSRM ne changera que lorsque vous terminerez la procédure de réinitialisation du mot de passe DSRM.

J’ai créé un compte dans mon domaine appelé svc-dc, défini un mot de passe complexe (que je souhaite utiliser pour mon mot de passe DSRM) et également désactivé le compte. Le compte n’est membre d’aucun groupe autre que les  » Utilisateurs de domaine  » par défaut. Le compte ne sera utilisé pour aucune autre tâche utilisée pour définir le mot de passe DSRM sur un contrôleur de domaine.

Ceci doit être effectué localement sur le contrôleur de domaine cible. Ce paramètre réinitialisera uniquement le mot de passe DSRM sur le serveur local, vous ne pouvez pas spécifier un autre contrôleur de domaine. Vous recevrez une erreur lorsque la commande n’est pas exécutée sur un contrôleur de domaine, comme dans l’exemple ci-dessous:

La synchronisation du mot de passe a échoué. Vérifiez que
Le compte source est un compte utilisateur dans le domaine Active Directory.
Le compte source n’est pas marqué comme nécessitant une carte à puce pour l’ouverture de session interactive.
Le compte source n’a pas expiré.
Le mot de passe du compte source n’a pas expiré.
Code d’erreur WIN32: 0x32
Message d’erreur: La demande n’est pas prise en charge.

La commande de réinitialisation peut également être saisie avec une seule ligne:

ntdsutil « définir le mot de passe dsrm » « Synchroniser à partir du compte de domaine svc-dc » « q » »q »

L’exécution de la commande sur un contrôleur de domaine se termine avec succès sans autre invite. Le mot de passe DSRM est maintenant défini sur le mot de passe configuré sur le compte d’utilisateur du domaine. La prochaine fois, je peux simplement changer le mot de passe du compte d’utilisateur du domaine et relancer le processus de réinitialisation du mot de passe pour mettre à jour le mot de passe DSRM sur le contrôleur de domaine.

La connexion à chaque contrôleur de domaine peut cependant prendre du temps en fonction de la taille de l’environnement. Windows PowerShell Remoting offre la possibilité d’exécuter des commandes à distance. Je peux utiliser Invoke-Command pour exécuter la réinitialisation du mot de passe DSRM sur un contrôleur de domaine distant à partir de n’importe quel appareil.

Invoke-Command-ComputerName DCS001P01-ScriptBlock {ntdsutil « définir le mot de passe dsrm » « Synchroniser à partir du compte de domaine svc-dc » « q » »q » }

Si vous envisagez d’utiliser le même mot de passe pour tous les contrôleurs de domaine, la commande PowerShell peut être facilement adaptée pour modifier le mot de passe de tous les contrôleurs de domaine du domaine.

Get-ADDomainController -Filter * | ForEach-Object { Invoke-Command -ComputerName $_.hostname -ScriptBlock { ntdsutil "set dsrm password" "Sync from domain account svc-dc" "q" "q" } write-host $_.hostname }

Vous pouvez également utiliser un compte d’utilisateur distinct pour chaque contrôleur de domaine, en vous assurant que le mot de passe DSRM est différent sur chaque contrôleur de domaine. La commande PowerShell à distance peut ensuite être saisie sur des lignes distinctes pour chaque combinaison Contrôleur de domaine et compte d’utilisateur. Enregistrez le script pour une utilisation ultérieure. Dans cet exemple, j’ai créé un compte pour chaque contrôleur de domaine:

Invoke-Command -ComputerName DCS001P01 -ScriptBlock { ntdsutil "set dsrm password" "Sync from domain account svc-DCS001P01" "q" "q" }Invoke-Command -ComputerName DCS002P01 -ScriptBlock { ntdsutil "set dsrm password" "Sync from domain account svc-DCS002P01" "q" "q" }

Je peux maintenant effectuer la réinitialisation sur tous mes contrôleurs de domaine en réutilisant le fichier .PS1 enregistré dans PowerShell I. Lors de mon prochain changement de mot de passe DSRM, il me suffit de changer le mot de passe des comptes d’utilisateurs et d’exécuter à nouveau le script pour mettre à jour le mot de passe DSRM sur mes contrôleurs de domaine.

Tâche planifiée

Il est possible de configurer des tâches planifiées sur les contrôleurs de domaine pour réinitialiser automatiquement le mot de passe DSRM avec le paramètre sync from domain account %s.

La tâche peut être exécutée quotidiennement pour définir le mot de passe DSRM en se synchronisant avec un compte d’utilisateur de domaine. Le mot de passe DSRM ne changera effectivement que lorsque le mot de passe du compte utilisateur est modifié. Lors de mon prochain calendrier de changement de mot de passe DSRM, il me suffit de modifier les mots de passe des comptes d’utilisateurs et de laisser la tâche planifiée s’occuper du reste.

Utilisez cette méthode avec prudence!

La tâche planifiée s’exécutera sur le contrôleur de domaine avec les autorisations appropriées, sans surveillance. Si une personne non autorisée peut modifier le mot de passe du compte de service de référence, elle modifie également le mot de passe DSRM, sans nécessiter de droits d’administrateur de domaine.

Les comptes de service devront être sécurisés et vérifiés, ce qui ajoute des frais administratifs supplémentaires qui, à mon avis, l’emportent sur les avantages de l’utilisation d’une tâche planifiée pour gérer les modifications du mot de passe DRSM.

Les tâches planifiées peuvent échouer, ce qui peut empêcher le mot de passe DSRM d’être modifié comme prévu. Cela peut entraîner une situation dans laquelle vous ne pouvez pas vous connecter au contrôleur de domaine dans DSRM. Les tâches planifiées devront faire l’objet d’un suivi efficace et pourront s’ajouter aux efforts administratifs.



+