Guide de récupération BitLocker

Cette rubrique, destinée aux professionnels de l’informatique, décrit la récupération de clés BitLocker à partir des services de domaine Active Directory (AD DS).

Les organisations peuvent utiliser les informations de récupération BitLocker enregistrées dans AD DS pour accéder aux données protégées par BitLocker. Il est recommandé de créer un modèle de récupération pour BitLocker lors de la planification du déploiement BitLocker.

Cet article part du principe que vous savez comment configurer AD DS pour sauvegarder automatiquement les informations de récupération BitLocker et que vous connaissez les types d’informations de récupération qui sont enregistrés dans AD DS.

Cet article ne traite pas en détail de la configuration d’AD DS pour stocker les informations de récupération BitLocker.

Cet article comprend les rubriques suivantes :

  • Qu’est-ce que la récupération BitLocker ?

  • Test de récupération

  • Planification de votre processus de récupération

  • Utilisation d’informations supplémentaires de récupération

  • Réinitialisation des mots de passe de récupération

  • Récupération du package de clés BitLocker

Qu’est-ce que la récupération BitLocker ?

La récupération BitLocker est le processus par le biais duquel vous pouvez restaurer l’accès à un lecteur protégé par BitLocker au cas où vous ne pouvez pas déverrouiller le lecteur normalement. Dans un scénario de récupération, vous disposez des options suivantes pour restaurer l’accès au lecteur :

  • L’utilisateur peut fournir le mot de passe de récupération. Si votre organisation permet à l’utilisateur d’imprimer ou de stocker des mots de passe de récupération, il peut taper le mot de passe de récupération à 48 chiffres qu’il a imprimé ou stocké sur un lecteur USB ou avec votre compte Microsoft en ligne. (L’enregistrement d’un mot de passe de récupération avec votre compte Microsoft en ligne est uniquement autorisé si BitLocker est utilisé sur un PC qui n’est pas membre d’un domaine).

  • Un agent de récupération de données peut utiliser ses informations d’identification pour déverrouiller le lecteur. S’il s’agit d’un lecteur du système d’exploitation, il doit être monté en tant que lecteur de données sur un autre ordinateur pour que l’agent de récupération de données le déverrouille.

  • Un administrateur de domaine peut obtenir le mot de passe de récupération auprès d’AD DS et l’utiliser pour déverrouiller le lecteur. Il est recommandé de stocker les mots de passe de récupération dans AD DS afin de permettre aux professionnels de l’informatique de les obtenir pour les lecteurs de leur organisation en cas de besoin. Cette méthode implique que vous ayez activé cette méthode de récupération dans le paramètre de stratégie de groupe BitLocker Sélectionner la méthode de récupération des lecteurs du système d’exploitation protégés par BitLocker situé dans Configuration ordinateur\Modèles d’administration\Composants Windows\Chiffrement de lecteur BitLocker\Lecteurs du système d’exploitation de l’éditeur d’objets de stratégie de groupe. Pour plus d’informations, voir Paramètres de stratégie de groupe BitLocker.

Qu’est-ce qui provoque la récupération BitLocker ?

La liste suivante fournit des exemples d’événements spécifiques qui provoquent l’entrée en mode de récupération de BitLocker lors de la tentative de démarrage du lecteur de système d’exploitation :

  • Sur les PC utilisant BitLocker ou le chiffrement d’appareil, lorsqu’une attaque est détectée, l’appareil redémarre immédiatement et passe en mode de récupération BitLocker. Pour tirer parti de cette fonctionnalité, les administrateurs peuvent définir le paramètre de stratégie de groupe Ouverture de session interactive : seuil de verrouillage du compte d’ordinateur situé dans \Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options dans l’éditeur d’objets de stratégie de groupe. Ils peuvent également utiliser la stratégie MaxFailedPasswordAttempts d’Exchange ActiveSync (également configurable via Windows Intune) pour limiter le nombre de tentatives de mots de passe en échec avant que l’appareil ne passe à l’état de verrouillage d’appareil.

  • La modification de l’ordre de démarrage pour démarrer un autre lecteur avant le disque dur.

  • Le lecteur de CD ou de DVD en amont du disque dur dans l’ordre de démarrage des périphériques configuré dans le BIOS, puis l’insertion ou le retrait d’un CD ou d’un DVD.

  • L’échec du démarrage d’un lecteur réseau avant le démarrage du disque dur.

  • L’ancrage ou le retrait d’un ordinateur portable. Dans certains cas (selon le fabricant de l’ordinateur et le BIOS), la condition d’ancrage de l’ordinateur portable fait partie des mesures du système et doit être cohérente pour valider l’état du système et déverrouiller BitLocker. En d’autres termes, si un ordinateur portable est connecté à sa station d’accueil lorsque BitLocker est activé, il se peut qu’il doive y être également connecté lorsqu’il est déverrouillé. À l’inverse, si un ordinateur portable n’est pas connecté à sa station d’accueil lorsque BitLocker est activé, il se peut qu’il doive en être également déconnecté lorsqu’il est déverrouillé.

  • Les modifications apportées à la table de partition NTFS sur le disque, incluant la création, la suppression ou le redimensionnement d’une partition principale.

  • La saisie d’un code confidentiel incorrect à de trop nombreuses reprises si bien que la logique anti-martèlement du module TPM est activée. La logique anti-martèlement est une méthode logicielle ou matérielle qui augmente la difficulté et le coût d’une attaque par force brute sur un code confidentiel en n’acceptant pas les entrées de code confidentiel tant qu’une certaine durée ne s’est pas écoulée.

  • La désactivation de la prise en charge de la lecture de l’appareil USB dans l’environnement de prédémarrage du microprogramme BIOS ou UEFI si vous utilisez des clés USB à la place d’un module TPM.

  • La désactivation ou l’effacement du module TPM.

  • La mise à niveau des premiers composants de démarrage critiques, par exemple celle du microprogramme BIOS ou UEFI, provoquant ainsi la modification des mesures de démarrage associées.

  • L’oubli du code confidentiel lors de l’activation de l’authentification par code confidentiel.

  • La mise à jour du microprogramme de ROM optionnelle.

  • La mise à niveau du microprogramme du module TPM.

  • L’ajout ou la suppression de matériel, par exemple, l’insertion d’une nouvelle carte dans l’ordinateur, y compris certaines cartes sans fil PCMIA.

  • Le retrait ou l’insertion d’une batterie intelligente ou encore la consommation totale de la charge de la batterie sur un ordinateur portable.

  • Les modifications apportées à l’enregistrement de démarrage principal sur le disque.

  • Les modifications apportées au gestionnaire de démarrage sur le disque.

  • Le masquage du module TPM dans le système d’exploitation. Certains paramètres du BIOS ou UEFI peuvent être utilisés pour empêcher l’énumération du module TPM vers le système d’exploitation. Lors de l’implémentation, cette option peut masquer le module TPM dans le système d’exploitation. Si le module TPM est masqué, le démarrage sécurisé BIOS et UEFI est désactivé, et le module TPM ne répond aux commandes d’aucun logiciel.

  • L’utilisation d’un autre clavier qui n’entre pas correctement le code confidentiel ou dont le pavé numérique ne correspond pas au clavier supposé par l’environnement de prédémarrage. Cela peut empêcher l’entrée des codes confidentiels renforcés.

  • La modification des registres de configuration de plateforme (PCR) utilisés par le profil de validation de module TPM. Par exemple, l’inclusion de PCR[1] entraîne dans BitLocker la mesure de la plupart des modifications en paramètres du BIOS, provoquant ainsi l’entrée de BitLocker en mode de récupération même lorsque les paramètres du BIOS critiques de non-démarrage changent.

    Remarque  

    Les paramètres du BIOS de certains ordinateurs ignorent les mesures de certains PCR, telles que PCR[2]. La modification de ce paramètre dans le BIOS entraîne l’entrée de BitLocker en mode de récupération, car la mesure PCR est différente.

     

  • Le déplacement du lecteur protégé par BitLocker dans un nouvel ordinateur.

  • Le remplacement de la carte mère par une nouvelle équipée d’un nouveau module TPM.

  • La perte du disque mémoire USB contenant la clé de démarrage lorsque l’authentification de la clé de démarrage est activée.

  • L’échec de l’auto-test du module TPM.

  • Disposer d’un microprogramme BIOS ou UEFI, ou d’un composant de ROM optionnelle qui n’est pas conforme aux normes appropriées du Trusted Computing Group (TCG) d’un ordinateur client. Par exemple, une implémentation non conforme peut enregistrer des données volatiles (par exemple, le temps) dans les mesures de module TPM, provoquant différentes mesures à chaque démarrage et le démarrage de BitLocker en mode de récupération.

  • Le remplacement de l’autorisation d’utilisation de la clé racine de stockage du module TPM par une valeur autre que zéro.

    Remarque  

    Le processus d’initialisation du module TPM de BitLocker définit la valeur d’autorisation de l’utilisation sur zéro. Un autre utilisateur ou processus doit donc avoir explicitement changé cette valeur.

     

  • La désactivation de la vérification de l’intégrité du code ou l’activation de la signature des tests dans le Gestionnaire de démarrage Windows (Bootmgr).

  • L’appui sur la touche F8 ou F10 pendant le processus de démarrage.

  • L’ajout ou la suppression de cartes complémentaires (par exemple, des cartes vidéo ou réseau) ou la mise à niveau du microprogramme dans les cartes complémentaires.

  • L’utilisation d’une touche d’accès rapide du BIOS pendant le processus de démarrage pour remplacer l’ordre de démarrage par un élément autre que le disque dur.

Remarque  

Avant de commencer la récupération, nous vous recommandons de déterminer l’origine de la récupération. Cela peut vous aider à empêcher que le problème ne se reproduise dans le futur. Par exemple, si vous déterminez qu’une personne malveillante a modifié votre ordinateur en obtenant un accès physique, vous pouvez créer des stratégies de sécurité pour suivre la personne qui est présente physiquement. Une fois que le mot de passe de récupération a été utilisé pour récupérer l’accès au PC, BitLocker rescelle la clé de chiffrement pour les valeurs actuelles des composants mesurés.

 

Pour les scénarios planifiés, par exemple un matériel connu ou des mises à niveau de microprogramme, vous pouvez éviter de lancer la récupération en interrompant provisoirement la protection BitLocker. Comme l’interruption de BitLocker laisse le lecteur entièrement chiffré, l’administrateur peut rapidement rétablir la protection BitLocker à l’issue de l’exécution de la tâche planifiée. L’utilisation de l’interruption et de la reprise rescelle également la clé de chiffrement sans requérir l’entrée de la clé de récupération.

Remarque  

En cas d’interruption, BitLocker rétablit automatiquement la protection au redémarrage du PC à moins qu’un nombre de redémarrages ne soit spécifié à l’aide de l’outil en ligne de commande Manage-bde.

Si la maintenance logicielle nécessite le redémarrage de l’ordinateur et que vous utilisez l’authentification à 2 facteurs, vous pouvez activer le déverrouillage réseau BitLocker pour fournir le facteur d’authentification secondaire si les ordinateurs n’ont pas d’utilisateur sur site pour fournir la méthode d’authentification supplémentaire.

 

La récupération a été décrite dans le contexte d’un comportement indésirable ou non planifié, mais vous pouvez également provoquer la récupération dans un scénario de production souhaité, afin de gérer le contrôle d’accès. Par exemple, lorsque vous redéployez des ordinateurs de bureau ou portables vers d’autres départements ou pour d’autres employés de votre entreprise, vous pouvez forcer BitLocker à passer en mode de récupération avant que l’ordinateur ne soit donné à un nouvel utilisateur.

Test de récupération

Avant de créer un processus de récupération BitLocker approfondi, nous vous recommandons de tester le fonctionnement du processus de récupération pour les utilisateurs finaux (personnes qui appellent le support technique pour obtenir le mot de passe de récupération) et les administrateurs (personnes qui aident les utilisateurs finaux à obtenir le mot de passe de récupération). La commande –forcerecovery de l’outil Manage-bde vous permet d’accéder facilement au processus de récupération avant que vos utilisateurs ne rencontrent une situation de récupération.

Mt404676.wedge(fr-fr,VS.85).gifPour forcer la récupération de l’ordinateur local

  1. Cliquez sur le bouton Démarrer, tapez cmd dans la zone Rechercher, cliquez avec le bouton droit sur cmd.exe, puis cliquez sur Exécuter en tant qu’administrateur.

  2. À l’invite de commandes, tapez la commande suivante, puis appuyez sur ENTRÉE :

    manage-bde -forcerecovery <Volume>

Mt404676.wedge(fr-fr,VS.85).gifPour forcer la récupération d’un ordinateur distant

  1. Dans l’écran de démarrage, tapez cmd.exe, puis cliquez sur Exécuter en tant qu’administrateur.

  2. À l’invite de commandes, tapez la commande suivante, puis appuyez sur ENTRÉE :

    manage-bde. -ComputerName <ComputerName>-forcerecovery <Volume>

Remarque  

<ComputerName> représente le nom de l’ordinateur distant. <Volume> représente le volume sur l’ordinateur distant qui est protégé par BitLocker.

 

Planification de votre processus de récupération

Lors de la planification du processus de récupération BitLocker, commencez par consulter les recommandations actuelles de votre organisation pour récupérer les informations sensibles. Par exemple : comment votre entreprise gère-t-elle les mots de passe Windows perdus ? Comment votre organisation effectue-t-elle la réinitialisation de code PIN des cartes à puce ? Vous pouvez utiliser ces recommandations et les ressources associées (personnes et outils) pour vous aider à formuler un modèle de récupération BitLocker.

Les organisations qui utilisent le chiffrement de lecteur BitLocker et BitLocker To Go pour protéger les données sur un grand nombre d’ordinateurs et de lecteurs amovibles exécutant les systèmes d’exploitation Windows 10, Window 8 ou Windows 7, et Windows To Go doivent envisager d’utiliser l’outil MBAM (Microsoft BitLocker Administration and Monitoring) version 2.0, qui est inclus dans Microsoft Desktop Optimization Pack (MDOP) pour Microsoft Software Assurance. L’outil MBAM facilite le déploiement et la gestion des implémentations de BitLocker, et permet aux administrateurs de configurer et de surveiller le chiffrement des lecteurs de système d’exploitation et des lecteurs fixes. L’outil MBAM interroge l’utilisateur avant de chiffrer les lecteurs fixes. Il gère également des clés de récupération pour les lecteurs fixes et amovibles, facilitant ainsi la gestion de la récupération. Cet outil peut être utilisé dans le cadre d’un déploiement de Microsoft System Center ou en tant que solution autonome. Pour plus d’informations, voir Microsoft BitLocker Administration and Monitoring.

Après qu’une récupération BitLocker a été lancée, les utilisateurs peuvent utiliser un mot de passe de récupération pour déverrouiller l’accès aux données chiffrées. Vous devez envisager les méthodes d’extraction de mot de passe de récupération automatiques ou non pour votre organisation.

Quand vous déterminez votre processus de récupération, vous devez :

  • Vous familiariser avec la méthode avec laquelle vous pouvez extraire le mot de passe de récupération. Voir :

    • Récupération automatique

    • Extraction de mot de passe de récupération

  • Déterminer une série d’étapes à suivre après la récupération, y compris l’analyse de la raison pour laquelle la récupération a eu lieu et la réinitialisation du mot de passe de récupération. Voir :

    • Analyse après récupération

Récupération automatique

Dans certains cas, les utilisateurs peuvent disposer du mot de passe de récupération dans un document imprimé ou un disque mémoire USB et procéder à une récupération automatique. Nous recommandons que votre organisation crée une stratégie de récupération automatique. Si la récupération automatique inclut l’utilisation d’un mot de passe ou d’une clé de récupération stockée sur un disque mémoire USB, les utilisateurs doivent être avertis qu’ils ne doivent pas stocker le disque mémoire USB au même endroit que le PC, notamment lors de leurs déplacements. Par exemple, si le PC et les éléments de récupération se trouvent dans une même pochette, un utilisateur non autorisé pourrait y avoir accès très facilement. Une autre stratégie à envisager est de permettre aux utilisateurs de contacter le support technique avant ou après la récupération automatique afin de pouvoir identifier la cause principale.

Extraction de mot de passe de récupération

Si l’utilisateur ne dispose pas d’un mot de passe de récupération dans un document imprimé ou dans un disque mémoire USB, l’utilisateur doit être en mesure de le récupérer à partir d'une source en ligne. Si le PC est membre d’un domaine, le mot de passe de récupération peut être sauvegardé dans AD DS. Toutefois, cela ne se produit pas par défaut, et vous devez avoir configuré les paramètres de stratégie de groupe appropriés avant d’activer BitLocker sur le PC. Les paramètres de stratégie de groupe BitLocker se trouvent dans l’éditeur d’objets de stratégie de groupe ou dans la Console de gestion des stratégies de groupe (GPMC) sous Configuration ordinateur\Modèles d’administration\Composants Windows\Chiffrement de lecteur BitLocker. Les paramètres de stratégie suivants définissent les méthodes de récupération qui permettent de restaurer l’accès à un lecteur protégé par BitLocker si une méthode d’authentification échoue ou ne peut pas être utilisée.

  • Sélectionner la méthode de récupération des lecteurs du système d’exploitation protégés par BitLocker

  • Sélectionner la méthode de récupération des lecteurs fixes protégés par BitLocker

  • Sélectionner la méthode de récupération des lecteurs amovibles protégés par BitLocker

Dans chacune de ces stratégies, sélectionnez Enregistrer les informations de récupération BitLocker dans les services de domaine Active Directory, puis choisissez les informations de récupération BitLocker à stocker dans les services de domaine Active Directory (AD DS). Cochez la case N’activer BitLocker qu’une fois les informations de récupération stockées dans les services de domaine Active Directory pour empêcher les utilisateurs d’activer BitLocker tant que l’ordinateur n’est pas connecté au domaine et que la sauvegarde des informations de récupération BitLocker du lecteur dans AD DS n’a pas abouti.

Remarque  

Si les PC font partie d’un groupe de travail, il est conseillé aux utilisateurs d’enregistrer leur mot de passe de récupération BitLocker avec leur compte Microsoft en ligne. Il est recommandé de disposer d’une copie en ligne de votre mot de passe de récupération BitLocker pour vous assurer de ne pas perdre l’accès aux données dans le cas où une récupération serait nécessaire.

 

L’outil Visionneuse des mots de passe de récupération BitLocker pour Utilisateurs et ordinateurs Active Directory permet aux administrateurs de domaine d’afficher les mots de passe de récupération BitLocker pour des objets ordinateur spécifiques dans Active Directory.

Vous pouvez vous servir de la liste suivante comme modèle pour créer votre processus d’extraction des mots de passe de récupération. Cet exemple de processus utilise l’outil Visionneuse des mots de passe de récupération BitLocker pour Utilisateurs et ordinateurs Active Directory.

  • Enregistrer le nom de l’ordinateur de l’utilisateur

  • Vérifier l’identité de l’utilisateur

  • Rechercher le mot de passe de récupération dans AD DS

  • Collecter des informations pour déterminer pourquoi la récupération a eu lieu

  • Attribuer le mot de passe de récupération à l’utilisateur

Enregistrer le nom de l’ordinateur de l’utilisateur

Vous pouvez utiliser le nom de l’ordinateur de l’utilisateur pour rechercher le mot de passe de récupération dans AD DS. Si l’utilisateur ne connaît pas le nom de l’ordinateur, demandez-lui de lire le premier mot de la zone Étiquette du disque dans l’interface utilisateur Entrée de mot de passe de chiffrement BitLocker. Il s’agit du nom de l’ordinateur lorsque BitLocker a été activé. C’est probablement le nom actuel de l’ordinateur.

Vérifier l’identité de l’utilisateur

Vous devez vérifier que la personne qui demande le mot de passe de récupération est vraiment l’utilisateur autorisé de cet ordinateur. Vous pouvez également souhaiter vérifier que l’ordinateur portant le nom fourni par l’utilisateur appartient bien à ce dernier.

Rechercher le mot de passe de récupération dans AD DS

Recherchez l’objet ordinateur portant le nom correspondant dans AD DS. Comme les noms d’objet ordinateur sont répertoriés dans le catalogue global AD DS, vous devez être en mesure de repérer l’objet même si vous avez une forêt à domaines multiples.

Mots de passe de récupération multiples

Si plusieurs mots de passe de récupération sont stockés sous un objet ordinateur dans AD DS, le nom de l’objet informations de récupération BitLocker inclut la date de création du mot de passe.

Si vous ne savez pas quel mot de passe fournir ou si vous pensez que vous fournissez peut-être un mot de passe incorrect, demandez à l’utilisateur de lire l’ID de mot de passe à huit caractères qui est affiché dans la console de récupération.

Comme l’ID de mot de passe est une valeur unique qui est associée à chaque mot de passe de récupération stocké dans AD DS, l’exécution d’une requête à l’aide de cet ID permet de rechercher le mot de passe correct pour déverrouiller le volume chiffré.

Collecter des informations pour déterminer pourquoi la récupération a eu lieu

Avant de donner à l’utilisateur le mot de passe de récupération, vous devez rassembler les informations qui vous aideront à déterminer la raison pour laquelle la récupération était nécessaire afin d’analyser la cause principale au cours de l’analyse postrécupération. Pour plus d’informations sur l’analyse postrécupération, voir Analyse après récupération.

Attribuer le mot de passe de récupération à l’utilisateur

Comme le mot de passe de récupération contient 48 chiffres, il se peut que l’utilisateur doive l’enregistrer en le notant ou en le tapant sur un autre ordinateur. Si vous utilisez l’outil MBAM, le mot de passe de récupération est régénéré une fois qu’il a été récupéré à partir de la base de données MBAM afin d’éviter les risques de sécurité associés à un mot de passe non contrôlé.

Remarque  

Comme le mot de passe de récupération à 48 chiffres est long et contient une combinaison de chiffres, il peut arriver que l’utilisateur le comprenne mal ou le tape de façon erronée. La console de récupération au démarrage utilise des chiffres de somme de contrôle intégrée pour détecter les erreurs d’entrée dans chaque bloc de 6 chiffres du mot de passe de récupération à 48 chiffres. Elle permet à l’utilisateur de corriger les erreurs de ce type.

 

Analyse après récupération

Lorsqu’un volume est déverrouillé à l’aide d’un mot de passe de récupération, un événement est écrit dans le journal des événements, et les mesures de validation de plateforme sont réinitialisées dans le module TPM pour correspondre à la configuration actuelle. Le déverrouillage du volume signifie que la clé de chiffrement a été libérée et qu’elle est prête pour le chiffrement à la volée lorsque les données sont écrites sur le volume, et pour le déchiffrement à la volée lorsque les données sont lues à partir du volume. Une fois que le volume est déverrouillé, BitLocker se comporte de la même manière, quel que soit l’accès accordé.

Si vous remarquez qu’un ordinateur connaît des déverrouillages de mot de passe de récupération répétés, vous souhaiterez peut-être qu’un administrateur puisse effectuer l’analyse postrécupération pour déterminer la cause principale de la récupération et actualiser la validation de plateforme BitLocker afin que l’utilisateur n’ait plus besoin d’entrer un mot de passe de récupération à chaque démarrage de l’ordinateur. Voir :

  • Déterminer la cause principale de la récupération

  • Actualiser la protection BitLocker

Déterminer la cause principale de la récupération

Si un utilisateur a dû récupérer le lecteur, il est important de déterminer dès que possible la cause principale de la récupération. L’analyse appropriée de l’état de l’ordinateur et la détection de la falsification peuvent révéler des menaces dont les conséquences sont plus importantes pour la sécurité de l’entreprise.

Si un administrateur peut examiner à distance la cause de la récupération dans certains cas, l’utilisateur final peut devoir apporter sur site l’ordinateur qui contient le lecteur récupéré pour analyser la cause principale de façon plus approfondie.

Passez en revue les questions suivantes pour votre organisation et répondez-y :

  1. Quel est le mode de protection BitLocker en vigueur (module TPM, module TPM+code confidentiel, module TPM+clé de démarrage, clé de démarrage uniquement) ? Quel est le profil PCR utilisé sur le PC ?

  2. L’utilisateur a-t-il simplement oublié le code confidentiel ou perdu la clé de démarrage ? Si un jeton a été perdu, où peut-il se trouver ?

  3. Si le mode module TPM était en vigueur, la récupération a-t-elle été provoquée par une modification du fichier de démarrage ?

  4. Si la récupération a été provoquée par une modification du fichier de démarrage, est-ce dû à une action volontaire de l’utilisateur (par exemple, la mise à niveau du BIOS) ou à un logiciel malveillant ?

  5. Quand l’utilisateur a-t-il pu démarrer l’ordinateur la dernière fois ? Qu’a-t-il pu se produire sur l’ordinateur depuis ?

  6. L’utilisateur a peut-être détecté des logiciels malveillants ou laissé l’ordinateur sans assistance depuis le dernier démarrage réussi ?

Pour vous aider à répondre à ces questions, utilisez l’outil en ligne de commande BitLocker pour afficher la configuration et le mode de protection actuels (par exemple, manage-bde -status). Analysez le journal des événements pour rechercher les événements permettant d’indiquer pourquoi la récupération a été lancée (par exemple, si la modification du fichier de démarrage s’est produite). Ces deux fonctionnalités peuvent être effectuées à distance.

Résoudre la cause principale

Une fois que vous avez identifié ce qui a provoqué la récupération, vous pouvez réinitialiser la protection BitLocker et éviter la récupération à chaque démarrage.

Les détails de cette réinitialisation varient en fonction de la cause principale de la récupération. Si vous ne pouvez pas déterminer la cause principale, ou si un logiciel malveillant ou un rootkit ont pu infecter l’ordinateur, le support technique doit appliquer des stratégies antivirus recommandées afin de réagir en conséquence.

Remarque  

Vous pouvez réinitialiser le profil de validation BitLocker en interrompant et en reprenant BitLocker.

 

  • Code confidentiel inconnu

  • Clé de démarrage perdue

  • Modifications apportées aux fichiers de démarrage

Code confidentiel inconnu

Si un utilisateur a oublié le code confidentiel, vous devez le réinitialiser pendant que vous êtes connecté à l’ordinateur afin d’empêcher BitLocker d’initier une récupération à redémarrage de l’ordinateur.

Mt404676.wedge(fr-fr,VS.85).gifPour empêcher la récupération continue en raison d’un code confidentiel inconnu

  1. Déverrouillez l’ordinateur à l’aide du mot de passe de récupération.

  2. Réinitialisez le code confidentiel :

    1. Cliquez avec le bouton droit sur le lecteur, puis cliquez sur Modifier le code confidentiel.

    2. Dans la boîte de dialogue Chiffrement de lecteur BitLocker, cliquez sur Réinitialiser un code confidentiel oublié. Si vous n’êtes pas connecté avec un compte Administrateur, vous devez fournir des informations d’identification d’administration à ce stade.

    3. Dans la boîte de dialogue de réinitialisation du code confidentiel, indiquez et confirmez le nouveau code confidentiel à utiliser, puis cliquez sur Terminer.

  3. Vous utiliserez le nouveau code confidentiel lors du prochain déverrouillage du lecteur.

Clé de démarrage perdue

Si vous avez perdu le disque mémoire USB qui contient la clé de démarrage, vous devez le déverrouiller à l’aide de la clé de récupération, puis créer une clé de démarrage.

Mt404676.wedge(fr-fr,VS.85).gifPour empêcher la récupération continue en raison de la perte de la clé de démarrage

  1. Connectez-vous sur l’ordinateur qui possède la clé de démarrage perdue en tant qu’administrateur.

  2. Ouvrez Gérer BitLocker.

  3. Cliquez sur Dupliquer la clé de démarrage, insérez le lecteur USB vierge sur lequel vous allez écrire la clé, puis cliquez sur Enregistrer.

Modifications apportées aux fichiers de démarrage

Cette erreur peut se produire si vous avez mis à jour le microprogramme. Il est recommandé d’interrompre BitLocker avant de modifier le microprogramme, puis de reprendre la protection à l’issue de la mise à jour. Cette procédure empêche l’ordinateur de passer en mode de récupération. Toutefois si des modifications ont été effectuées alors que la protection BitLocker était activée, vous pouvez simplement ouvrir une session sur l’ordinateur à l’aide du mot de passe de récupération. Le profil de validation de la plateforme est alors mis à jour afin que la récupération n’ait pas lieu la prochaine fois.

Windows RE et BitLocker

L’Environnement de récupération Windows (WinRE) permet de récupérer l’accès à un lecteur protégé par BitLocker ou par chiffrement de l’appareil. Si un PC ne peut pas démarrer après deux échecs, l’outil de redémarrage système démarre automatiquement. S’il est lancé automatiquement en raison d’échecs de démarrage, il exécute uniquement les réparations des fichiers de système d’exploitation et de pilote, sous réserve que les journaux de démarrage ou tout vidage sur incident disponible pointent vers un fichier endommagé spécifique. Dans Windows 8.1 et ultérieur, les appareils qui incluent un microprogramme pour prendre en charge des mesures de module TPM spécifiques pour PCR [7] peuvent confirmer que Windows RE est un environnement d’exploitation approuvé et déverrouiller les lecteurs protégés par BitLocker si Windows RE n’a pas été modifié. Si l’environnement Windows RE a été modifié, par exemple si le module TPM a été désactivé, les lecteurs restent verrouillés tant que la clé de récupération BitLocker n’est pas fournie. Si l’outil de redémarrage système ne peut pas s’exécuter automatiquement à partir du PC et qu’à la place, Windows RE est démarré manuellement à partir d’un disque de réparation, la clé de récupération BitLocker doit être fournie pour déverrouiller les lecteurs protégés par BitLocker.

Utilisation d’informations supplémentaires de récupération

Outre le mot de passe de récupération BitLocker à 48 chiffres, les autres types d’information de récupération sont stockés dans Active Directory. Cette section décrit comment utiliser ces informations supplémentaires.

Package de clés BitLocker

Si les méthodes de récupération décrites plus haut dans ce document ne permettent pas de déverrouiller le volume, vous pouvez utiliser l’outil de réparation BitLocker pour déchiffrer le volume en mode bloc. L’outil utilise le package de clés BitLocker pour récupérer les données chiffrées des lecteurs gravement endommagés. Vous pouvez ensuite utiliser ces données récupérées pour sauver les données chiffrées, même après que le mot de passe de récupération approprié n’a pas pu déverrouiller le volume endommagé. Nous vous recommandons d’enregistrer néanmoins le mot de passe de récupération. Un package de clés ne peut pas être utilisé sans le mot de passe de récupération correspondant.

Remarque  

Vous devez utiliser l’outil de réparation BitLocker Repair-bde pour utiliser le package de clés BitLocker.

 

Le package de clés BitLocker n’est pas enregistré par défaut. Pour enregistrer le package avec le mot de passe de récupération dans AD DS, vous devez sélectionner l’option Sauvegarder les mots de passe de récupération et les packages de clés dans les paramètres de stratégie de groupe qui contrôlent la méthode de récupération. Vous pouvez également exporter le package de clés d’un volume de travail. Pour plus d’informations sur l’exportation des packages de clés, voir Récupération du package de clés BitLocker.

Réinitialisation des mots de passe de récupération

Vous devez invalider un mot de passe de récupération après qu’il a été fourni et utilisé. Vous devez également le faire si vous voulez intentionnellement invalider un mot de passe de récupération existant pour une raison quelconque.

Vous pouvez réinitialiser le mot de passe de récupération de deux façons :

  • Utiliser Manage-bde Vous pouvez utiliser l’outil Manage-bde pour supprimer l’ancien mot de passe de récupération et en ajouter un nouveau. Cette procédure identifie la commande et la syntaxe de cette méthode.

  • Exécuter un script Vous pouvez exécuter un script pour réinitialiser le mot de passe sans déchiffrer le volume. L’exemple de script de la procédure illustre cette fonctionnalité, crée un mot de passe de récupération et invalide tous les autres mots de passe.

Mt404676.wedge(fr-fr,VS.85).gifPour réinitialiser un mot de passe de récupération à l’aide de l’outil Manage-bde

  1. Supprimez le mot de passe de récupération précédent.

    Manage-bde –protectors –delete C: –type RecoveryPassword
    
  2. Ajoutez le nouveau mot de passe de récupération.

    Manage-bde –protectors –add C: -RecoveryPassword
    
  3. Récupérez l’ID du nouveau mot de passe de récupération. Copiez l’ID du mot de passe de récupération à partir de l’écran.

    Manage-bde –protectors –get C: -Type RecoveryPassword
    
  4. Sauvegardez le nouveau mot de passe de récupération dans AD DS.

    Manage-bde –protectors –adbackup C: -id {EXAMPLE6-5507-4924-AA9E-AFB2EB003692}
    

    Avertissement  

    Vous devez inclure les accolades dans la chaîne d’ID.

     

Mt404676.wedge(fr-fr,VS.85).gifPour exécuter l’exemple de script de mot de passe de récupération

  1. Enregistrez l’exemple de script suivant dans un fichier VBScript. Exemple : ResetPassword.vbs.

  2. À l’invite de commandes, entrez une commande semblable à ce qui suit :

    cscript ResetPassword.vbs

Important  

Cet exemple de script est configuré pour fonctionner uniquement pour le volume C. Vous devez personnaliser le script pour le faire correspondre au volume sur lequel vous souhaitez tester la réinitialisation de mot de passe.

 

Remarque  

Pour gérer un ordinateur distant, vous pouvez spécifier le nom de l’ordinateur distant plutôt que le nom de l’ordinateur local.

 

Vous pouvez utiliser l’exemple de script suivant pour créer un fichier VBScript afin de réinitialiser les mots de passe de récupération.

' Target drive letter
strDriveLetter = "c:"

' Target computer name
' Use "." to connect to the local computer
strComputerName = "." 


' --------------------------------------------------------------------------------
' Connect to the BitLocker WMI provider class
' --------------------------------------------------------------------------------

strConnectionStr = "winmgmts:" _
                 & "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                 & strComputerName _
                 & "\root\cimv2\Security\MicrosoftVolumeEncryption"
                 
                 
On Error Resume Next 'handle permission errors

Set objWMIService = GetObject(strConnectionStr)


If Err.Number <> 0 Then
     WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")."
     Wscript.Echo "Ensure that you are running with administrative privileges."
     WScript.Quit -1
End If

On Error GoTo 0

strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'"
Set colTargetVolumes = objWMIService.ExecQuery(strQuery)


If colTargetVolumes.Count = 0 Then
    WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " &  strDriveLetter & " on computer " & strComputerName & "."
    WScript.Quit -1
End If


' there should only be one volume found
For Each objFoundVolume in colTargetVolumes
    set objVolume = objFoundVolume
Next


' objVolume is now our found BitLocker-capable disk volume


' --------------------------------------------------------------------------------
' Perform BitLocker WMI provider functionality
' --------------------------------------------------------------------------------


' Add a new recovery password, keeping the ID around so it doesn't get deleted later
' ----------------------------------------------------------------------------------

nRC = objVolume.ProtectKeyWithNumericalPassword("Recovery Password Refreshed By Script", , sNewKeyProtectorID)

If nRC <> 0 Then
WScript.Echo "FAILURE: ProtectKeyWithNumericalPassword failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' Removes the other, "stale", recovery passwords 
' ----------------------------------------------------------------------------------

nKeyProtectorTypeIn = 3 ' type associated with "Numerical Password" protector

nRC = objVolume.GetKeyProtectors(nKeyProtectorTypeIn, aKeyProtectorIDs)

If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' Delete those key protectors other than the one we just added. 

For Each sKeyProtectorID In aKeyProtectorIDs

If sKeyProtectorID <> sNewKeyProtectorID Then
nRC = objVolume.DeleteKeyProtector(sKeyProtectorID)

If nRC <> 0 Then
WScript.Echo "FAILURE: DeleteKeyProtector on ID " & sKeyProtectorID & " failed with return code 0x" & Hex(nRC)
WScript.Quit -1
Else
' no output
'WScript.Echo "SUCCESS: Key protector with ID " & sKeyProtectorID & " deleted"
End If
End If

Next

WScript.Echo "A new recovery password has been added. Old passwords have been removed."

' - some advanced output (hidden)
'WScript.Echo ""
'WScript.Echo "Type ""manage-bde -protectors -get " & strDriveLetter & " -type recoverypassword"" to view existing passwords."

Récupération du package de clés BitLocker

Deux méthodes permettent de récupérer le package de clés, comme décrit dans Utilisation d’informations supplémentaires de récupération :

  • Exporter un package de clés précédemment enregistré à partir d’AD DS. Vous devez disposer d’un accès en lecture aux mots de passe de récupération BitLocker qui sont stockés dans AD DS.

  • Exporter un nouveau package de clés à partir d’un volume déverrouillé, protégé par BitLocker. Vous devez disposer d’un accès administrateur local au volume de travail, avant que tout dommage n’ait lieu.

L’exemple de script suivant exporte tous les packages de clés précédemment enregistrés d’AD DS.

Mt404676.wedge(fr-fr,VS.85).gifPour exécuter l’exemple de script de récupération de package de clés

  1. Enregistrez l’exemple de script suivant dans un fichier VBScript. Exemple : GetBitLockerKeyPackageADDS.vbs.

  2. À l’invite de commandes, entrez une commande semblable à ce qui suit :

    cscript GetBitLockerKeyPackageADDS.vbs -?

Vous pouvez utiliser l’exemple de script suivant pour créer un fichier VBScript afin de récupérer le package de clés BitLocker à partir d’AD DS.

' --------------------------------------------------------------------------------
' Usage
' --------------------------------------------------------------------------------

Sub ShowUsage
   Wscript.Echo "USAGE: GetBitLockerKeyPackageAD [Path To Saved Key Package] [Optional Computer Name]"
   Wscript.Echo "If no computer name is specified, the local computer is assumed."
   Wscript.Echo 
   Wscript.Echo "Example: GetBitLockerKeyPackageAD E:\bitlocker-ad-key-package mycomputer"
   WScript.Quit
End Sub

' --------------------------------------------------------------------------------
' Parse Arguments
' --------------------------------------------------------------------------------

Set args = WScript.Arguments

Select Case args.Count
  Case 1
    If args(0) = "/?" Or args(0) = "-?" Then
    ShowUsage
    Else 
      strFilePath = args(0)
      ' Get the name of the local computer      
      Set objNetwork = CreateObject("WScript.Network")
      strComputerName = objNetwork.ComputerName      
    End If    
      
  Case 2
    If args(0) = "/?" Or args(0) = "-?" Then
      ShowUsage
    Else 
      strFilePath = args(0)
      strComputerName = args(1)
    End If
  Case Else
    ShowUsage

End Select



' --------------------------------------------------------------------------------
' Get path to Active Directory computer object associated with the computer name
' --------------------------------------------------------------------------------

Function GetStrPathToComputer(strComputerName) 

    ' Uses the global catalog to find the computer in the forest
    ' Search also includes deleted computers in the tombstone

    Set objRootLDAP = GetObject("LDAP://rootDSE")
    namingContext = objRootLDAP.Get("defaultNamingContext") ' e.g. string dc=fabrikam,dc=com    

    strBase = "<GC://" & namingContext & ">"
 
    Set objConnection = CreateObject("ADODB.Connection") 
    Set objCommand = CreateObject("ADODB.Command") 
    objConnection.Provider = "ADsDSOOBject" 
    objConnection.Open "Active Directory Provider" 
    Set objCommand.ActiveConnection = objConnection 

    strFilter = "(&(objectCategory=Computer)(cn=" &  strComputerName & "))"
    strQuery = strBase & ";" & strFilter  & ";distinguishedName;subtree" 

    objCommand.CommandText = strQuery 
    objCommand.Properties("Page Size") = 100 
    objCommand.Properties("Timeout") = 100
    objCommand.Properties("Cache Results") = False 

    ' Enumerate all objects found. 

    Set objRecordSet = objCommand.Execute 
    If objRecordSet.EOF Then
      WScript.echo "The computer name '" &  strComputerName & "' cannot be found."
      WScript.Quit 1
    End If

    ' Found object matching name

    Do Until objRecordSet.EOF 
      dnFound = objRecordSet.Fields("distinguishedName")
      GetStrPathToComputer = "LDAP://" & dnFound
      objRecordSet.MoveNext 
    Loop 


    ' Clean up. 
    Set objConnection = Nothing 
    Set objCommand = Nothing 
    Set objRecordSet = Nothing 

End Function


' --------------------------------------------------------------------------------
' Securely access the Active Directory computer object using Kerberos
' --------------------------------------------------------------------------------


Set objDSO = GetObject("LDAP:")
strPathToComputer = GetStrPathToComputer(strComputerName)

WScript.Echo "Accessing object: " + strPathToComputer

Const ADS_SECURE_AUTHENTICATION = 1
Const ADS_USE_SEALING = 64 '0x40
Const ADS_USE_SIGNING = 128 '0x80


' --------------------------------------------------------------------------------
' Get all BitLocker recovery information from the Active Directory computer object
' --------------------------------------------------------------------------------

' Get all the recovery information child objects of the computer object

Set objFveInfos = objDSO.OpenDSObject(strPathToComputer, vbNullString, vbNullString, _
                                   ADS_SECURE_AUTHENTICATION + ADS_USE_SEALING + ADS_USE_SIGNING)

objFveInfos.Filter = Array("msFVE-RecoveryInformation")

' Iterate through each recovery information object and saves any existing key packages

nCount = 1
strFilePathCurrent = strFilePath & nCount

For Each objFveInfo in objFveInfos

   strName = objFveInfo.Get("name")

   strRecoveryPassword = objFveInfo.Get("msFVE-RecoveryPassword")
   strKeyPackage = objFveInfo.Get("msFVE-KeyPackage")

   WScript.echo 
   WScript.echo "Recovery Object Name: " + strName 
   WScript.echo "Recovery Password: " + strRecoveryPassword

   ' Validate file path
   Set fso = CreateObject("Scripting.FileSystemObject")

   If (fso.FileExists(strFilePathCurrent)) Then
 WScript.Echo "The file " & strFilePathCurrent & " already exists. Please use a different path."
WScript.Quit -1
   End If

   ' Save binary data to the file
   SaveBinaryDataText strFilePathCurrent, strKeyPackage
   
   WScript.echo "Related key package successfully saved to " + strFilePathCurrent


   ' Update next file path using base name
   nCount = nCount + 1
   strFilePathCurrent = strFilePath & nCount

Next


'----------------------------------------------------------------------------------------
' Utility functions to save binary data 
'----------------------------------------------------------------------------------------

Function SaveBinaryDataText(FileName, ByteArray)
  'Create FileSystemObject object
  Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
  
  'Create text stream object
  Dim TextStream
  Set TextStream = FS.CreateTextFile(FileName)
  
  'Convert binary data To text And write them To the file
  TextStream.Write BinaryToString(ByteArray)
End Function

Function BinaryToString(Binary)
  Dim I, S
  For I = 1 To LenB(Binary)
    S = S & Chr(AscB(MidB(Binary, I, 1)))
  Next
  BinaryToString = S
End Function

WScript.Quit

The following sample script exports a new key package from an unlocked, encrypted volume.

To run this script, start by saving the code into a VBS file (for example, GetBitLockerKeyPackage.vbs). Then, open an administrator command prompt and use “cscript” to run the saved file (for example, type "cscript GetBitLockerKeyPackage.vbs  -?").



' --------------------------------------------------------------------------------
' Usage
' --------------------------------------------------------------------------------

Sub ShowUsage
   Wscript.Echo "USAGE: GetBitLockerKeyPackage [VolumeLetter/DriveLetter:] [Path To Saved Key Package]"
   Wscript.Echo 
   Wscript.Echo "Example: GetBitLockerKeyPackage C: E:\bitlocker-backup-key-package"
   WScript.Quit
End Sub

' --------------------------------------------------------------------------------
' Parse Arguments
' --------------------------------------------------------------------------------

Set args = WScript.Arguments

Select Case args.Count
  Case 2
    If args(0) = "/?" Or args(0) = "-?" Then
      ShowUsage
    Else 
      strDriveLetter = args(0)
      strFilePath = args(1)
    End If
  Case Else
    ShowUsage

End Select

' --------------------------------------------------------------------------------
' Other Inputs
' --------------------------------------------------------------------------------

' Target computer name
' Use "." to connect to the local computer
strComputerName = "." 

' Default key protector ID to use. Specify "" to let the script choose.

strDefaultKeyProtectorID = ""

' strDefaultKeyProtectorID = "{001298E0-870E-4BA0-A2FF-FC74758D5720}"  ' sample 


' --------------------------------------------------------------------------------
' Connect to the BitLocker WMI provider class
' --------------------------------------------------------------------------------

strConnectionStr = "winmgmts:" _
                 & "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                 & strComputerName _
                 & "\root\cimv2\Security\MicrosoftVolumeEncryption"
                 
                 
On Error Resume Next 'handle permission errors

Set objWMIService = GetObject(strConnectionStr)


If Err.Number <> 0 Then
     WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" & Hex(Err.Number) & ")."
     Wscript.Echo "Ensure that you are running with administrative privileges."
     WScript.Quit -1
End If

On Error GoTo 0

strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" & strDriveLetter & "'"
Set colTargetVolumes = objWMIService.ExecQuery(strQuery)


If colTargetVolumes.Count = 0 Then
    WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " &  strDriveLetter & " on computer " & strComputerName & "."
    WScript.Quit -1
End If


' there should only be one volume found
For Each objFoundVolume in colTargetVolumes
    set objVolume = objFoundVolume
Next


' objVolume is now our found BitLocker-capable disk volume


' --------------------------------------------------------------------------------
' Perform BitLocker WMI provider functionality
' --------------------------------------------------------------------------------


' Collect all possible valid key protector ID's that can be used to get the package
' ----------------------------------------------------------------------------------

nNumericalKeyProtectorType = 3 ' type associated with "Numerical Password" protector

nRC = objVolume.GetKeyProtectors(nNumericalKeyProtectorType, aNumericalKeyProtectorIDs)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

nExternalKeyProtectorType = 2 ' type associated with "External Key" protector

nRC = objVolume.GetKeyProtectors(nExternalKeyProtectorType, aExternalKeyProtectorIDs)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If


' Get first key protector of the type "Numerical Password" or "External Key", if any
' ----------------------------------------------------------------------------------

if strDefaultKeyProtectorID = "" Then

' Save first numerical password, if exists
If UBound(aNumericalKeyProtectorIDs) <> -1 Then
strDefaultKeyProtectorID = aNumericalKeyProtectorIDs(0)
End If

' No numerical passwords exist, save the first external key
If strDefaultKeyProtectorID = "" and UBound(aExternalKeyProtectorIDs) <> -1 Then
strDefaultKeyProtectorID = aExternalKeyProtectorIDs(0)
End If 

' Fail case: no recovery key protectors exist. 
If strDefaultKeyProtectorID = "" Then
WScript.Echo "FAILURE: Cannot create backup key package because no recovery passwords or recovery keys exist. Check that BitLocker protection is on for this drive."
WScript.Echo "For help adding recovery passwords or recovery keys, type ""manage-bde -protectors -add -?""."
WScript.Quit -1
End If

End If

' Get some information about the chosen key protector ID
' ----------------------------------------------------------------------------------

' is the type valid?

nRC = objVolume.GetKeyProtectorType(strDefaultKeyProtectorID, nDefaultKeyProtectorType)

If Hex(nRC) = "80070057" Then
WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " is not valid."
WScript.Echo "This ID value may have been provided by the script writer."
ElseIf nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectorType failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' what's a string that can be used to describe it?

strDefaultKeyProtectorType = ""

Select Case nDefaultKeyProtectorType 

  Case nNumericalKeyProtectorType
      strDefaultKeyProtectorType = "recovery password"

  Case nExternalKeyProtectorType
      strDefaultKeyProtectorType = "recovery key"

  Case Else
      WScript.Echo "The key protector ID " & strDefaultKeyProtectorID & " does not refer to a valid recovery password or recovery key."
      WScript.Echo "This ID value may have been provided by the script writer."

End Select


' Save the backup key package using the chosen key protector ID
' ----------------------------------------------------------------------------------

nRC = objVolume.GetKeyPackage(strDefaultKeyProtectorID, oKeyPackage)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyPackage failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If

' Validate file path
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(strFilePath)) Then
WScript.Echo "The file " & strFilePath & " already exists. Please use a different path."
WScript.Quit -1
End If

Dim oKeyPackageByte, bKeyPackage
For Each oKeyPackageByte in oKeyPackage
  'WScript.echo "key package byte: " & oKeyPackageByte
  bKeyPackage = bKeyPackage & ChrB(oKeyPackageByte)
Next

' Save binary data to the file
SaveBinaryDataText strFilePath, bKeyPackage

' Display helpful information
' ----------------------------------------------------------------------------------

WScript.Echo "The backup key package has been saved to " & strFilePath & "."

WScript.Echo "IMPORTANT: To use this key package, the " & strDefaultKeyProtectorType & " must also be saved."

' Display the recovery password or a note about saving the recovery key file

If nDefaultKeyProtectorType = nNumericalKeyProtectorType Then

nRC = objVolume.GetKeyProtectorNumericalPassword(strDefaultKeyProtectorID, sNumericalPassword)
If nRC <> 0 Then
WScript.Echo "FAILURE: GetKeyProtectorNumericalPassword failed with return code 0x" & Hex(nRC)
WScript.Quit -1
End If
WScript.Echo "Save this recovery password: " & sNumericalPassword

ElseIf nDefaultKeyProtectorType = nExternalKeyProtectorType Then
WScript.Echo "The saved key file is named " & strDefaultKeyProtectorID & ".BEK"
WScript.Echo "For help re-saving this external key file, type ""manage-bde -protectors -get -?"""
End If


'----------------------------------------------------------------------------------------
' Utility functions to save binary data 
'----------------------------------------------------------------------------------------

Function SaveBinaryDataText(FileName, ByteArray)
  'Create FileSystemObject object
  Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
  
  'Create text stream object
  Dim TextStream
  Set TextStream = FS.CreateTextFile(FileName)
  
  'Convert binary data To text And write them To the file
  TextStream.Write BinaryToString(ByteArray)
End Function

Function BinaryToString(Binary)
  Dim I, S
  For I = 1 To LenB(Binary)
    S = S & Chr(AscB(MidB(Binary, I, 1)))
  Next
  BinaryToString = S
End Function

Voir aussi