Store BitLocker Recovery Keys Using Active Directory

In a domain network, you can store the BitLocker recovery keys for encrypted drives in the Active Directory Domain Services (AD DS). This is one of the greatest features of the BitLocker Drive Encryption technology for corporate users.

A BitLocker recovery key is a unique 48-digit numerical password or 256-bit key in a file. They are generating during BitLocker installation. A domain (security) administrator can manage the BitLocker recovery keys and passwords manually. It’s pretty easy if the number of computers in the company’s network is not so high. But if there are more than 100 desktops in the network, the task becomes more complicated.

Configure Active Directory to Store BitLocker Recovery Keys

Group Policies (GPOs) allow you to configure the BitLocker agent on users’ workstations. This allows you to back up BitLocker recovery keys from local computers to the related computer objects in the Active Directory. Each BitLocker recovery object has a unique name and contains a globally unique identifier for the recovery password. If the computer object in Active Directory stores several recovery passwords, the name of the data object will contain the password creation date.

Active Directory Requirements to Use BitLocker

BitLocker recovery data storage feature is based on the extension of the Active Directory schema. And it brings you extra attributes. You should verify if your AD schema version has attributes required to store BitLocker recovery keys in Active Directory. To do this, run the following cmdlet from the AD for Windows PowerShell module:

Import-module ActiveDirectory

Get-ADObject -SearchBase ((GET-ADRootDSE).SchemaNamingContext) -Filter {Name -like 'ms-FVE-*'}

There should be 5 following attributes:

  • ms-FVE-KeyPackage;
  • ms-FVE-RecoveryGuid;
  • ms-FVE-RecoveryInformation;
  • ms-FVE-RecoveryPassword;
  • ms-FVE-VolumeGuid.

bitlocker active directory

Starting from Windows Server 2008, these attributes are available by default. The thing is that they still require extra configuration for further functioning. In the schema version of Windows Server 2012 and newer, this feature works “out of the box”. The same applies to the computers running the newest Windows Server 2019 build.

Let’s see how to configure Active Directory to store the BitLocker recovery information.

Tip. In Windows Server 2012/2008 R2 BitLocker client is called BitLocker Drive Encryption feature. It differs from the Windows desktop OSs, you can install it from the Server Manager console or using PowerShell:

Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementTools

store bitlocker key in ad

Configuring GPO to Save BitLocker Recovery Information in Active Directory

  1. Create a new GPO using the Group Policy Management console (GPMC.msc). Link it to the root of the domain or OU, that contains the computers for which you want to store BitLocker Recovery Password in the Active Directory database;
  2. Right-click on this GPO and select Edit;
  3. Expand the GPO sections: Computer Configuration > Policies > Administrative Templates > Windows Components > BitLocker Drive Encryption. Edit the policy Store BitLocker Recovery information in Active Directory Domain Services;
    bitlocker recovery key active directory
  4. Enable this policy and configure it as follows: Require BitLocker backup to AD DS: Enable. Select BitLocker recovery information to store: Recovery passwords and key packages. You can store the password in AD, or password and recovery key together;
    save bitlocker recovery key to ad
  5. Depending on the drives you want to encrypt, select one of the sections that are present under BitLocker Drive Encryption:
    – Fixed Data Drives;
    – Operating System Drives;
    – Removable Data Drives.
  6. For example, you want to store recovery keys for removable drives. Go to the section Removable Data Drives. Find the policy Choose how BitLocker-protected removable drives can be recovered;
    add bitlocker to active directory
  7. Enable the policy and check the options Save BitLocker recovery information to Active Directory Domain Services, and Do not enable BitLocker until recovery information is stored to AD DS for removable data drives. The last option ensures that the user cannot turn on BitLocker if the computer is not connected to the domain and the BitLocker recovery information is successfully backed up to AD DS. When the user tries to encrypt a new USB device at the time it’s not connected to a domain network, the user will receive an error message;
    active directory bitlocker recovery key
  8. Update Group Policy settings on clients with the command:
    gpupdate /force
  9. Turn on BitLocker on the selected drives of your PC. BitLocker recovery key and password from this PC are automatically copied to the Active Directory.

Tip. If you configured BitLocker encryption on some computers before enabling the centralized BitLocker policy in AD, you can simply disable and enable BitLocker for the drives on that computer. Or, you can manually copy the BitLocker recovery key to the Active Directory using the manage-bde tool.

Get current BitLocker ID for the encrypted volume:

manage-bde -protectors -get e:

Now, you can send the BitLocker recovery key to the AD by specifying an ID obtained in the previous step:

manage-bde -protectors -adbackup e: -id '{DAB438E6-8B5F-4BDA-9273-C1654B49C717E}'

In case of successful execution of the command, you will see a message:

Recovery information was successfully backed up to Active Directory.

Note. To perform this action, you should log in on the workstation under a domain account, and have the local administrator permissions.

active directory bitlocker

If the previous command returned the error “ERROR: Group policy does not permit the storage of recovery information to Active Directory. The operation was not attempted.”, you should check and enable the following GPO settings:

  • Computer Configuration > Policies > Administrative Templates > System > Trusted Platform Module Services: Turn on TPM backup to Active Directory Domain Services;
  • Store BitLocker recovery information in Active Directory Domain Service (see above);
  • BitLocker Drive Encryption mode (see above).

You can use the following PowerShell script to automatically get the BitLocker recovery key for the system volume and save it to Active Directory:

$BitVolume = Get-BitLockerVolume -MountPoint $env:SystemDrive

$RecoveryKey = $BitVolume.KeyProtector | Where-Object { $_.KeyProtectorType -eq 'RecoveryPassword' }

Backup-BitLockerKeyProtector -MountPoint $env:SystemDrive -KeyProtectorId $RecoveryKey.KeyProtectorID

BackupToAAD-BitLockerKeyProtector -MountPoint $env:SystemDrive -KeyProtectorId $RecoveryKey.KeyProtectorID

How to Enable BitLocker Remotely?

Users can manually enable BitLocker for selected computer drives from the Windows GUI, by using the Enable-BitLocker PowerShell cmdlet, or using the manage-bde.exe cli tool).

The Enable-BitLocker doesn’t allow it to run against remote computers. But you can run it using the PowerShell remoting (through WinRM) with the Invoke-Command cmdlet.

The following PowerShell script prompts you for the name of the remote computer and the BitLocker password that will be used to encrypt the system drive:

$Password = Read-Host -Prompt "Enter BitLocker Password" -AsSecureString

$rmtComputer = Read-Host -Prompt "Enter remote computer name or IP address"

Invoke-Command -ComputerName $rmtComputer -ScriptBlock {

Enable-Bitlocker -MountPoint $env:SystemDrive -EncryptionMehod -UsedSpaceOnly -Password $using:Password -PasswordProtector -SkipHardwareTest

}

bitlocker store key in ad

If the WinRM is not configured on the remote computer, you can use the Manage-BDE command which includes built-in remoting features. You can specify the remote computer name to perform BitLocker encryption with the -ComputerName parameter.

Use the following command to encrypt the remote device running Windows 10:

Manage-BDE -On C: -RecoveryPassword -EncryptionMethod xts_aes256 -SkipHardwareTest -ComputerName lon-wks-c211

Now you can check the BitLocker status on the remote device:

Manage-BDE -status -computername lon-wks-c211 C:

How to Find BitLocker Recovery Keys in Active Directory?

You can find available recovery keys for each computer on the new tab “BitLocker Recovery”. It is located in the computer account properties in the Active Directory Users and Computers snap-in.

If the BitLocker recovery tab is missing, enable it using PowerShell:

Install-WindowsFeature RSAT-Feature-Tools-BitLocker-BdeAducExt

bitlocker ad

You can see the following info on this tab:

  • Recovery Key — you can give this key to the user to decrypt Bitlocker drive in case of OS failed, or if a user forgets the Bitlocker password;
  • Computer name and date when the Bitlocker recovery data was added to AD;
  • Password ID — user must provide the first 4 or 8 characters from the PasswordID to you.

You can also use the special plugin to find and display BitLocker recovery keys in the AD—BitLocker Recovery Password Viewer. It is a part of the Remote Server Administration Tools (RSAT).

bitlocker ad integration

After installation of BitLocker Recovery Password Viewer tool, you can search recovery keys directly from the ADUC console. Select the domain root, and click the Action > Find BitLocker recovery password.

bitlocker in ad

You can retrieve the BitLocker recovery key from AD for a specific computer using PowerShell. The following PoSh script can list BitLocker recovery info for the domain computer named ‘lon-wks-c211’:

$ADComputer = 'lon-wks-c211'

$DN = Get-ADComputer $ADComputer | Select-Object -ExpandProperty DistinguishedName

$ADobj = get-adobject -Filter {objectclass -eq 'msFVE-RecoveryInformation'} -SearchBase $DN -Properties 'msFVE-RecoveryPassword' | Select-Object Name,msFVE-RecoveryPassword

[Ordered]@{

Computer = $ADComputer

RecoveryPassword = $ADobj.'msFVE-RecoveryPassword'

Date = Get-Date -Date ($ADobj.Name ).Split('{')[0]

BitlocerKeyID = (($ADobj.Name ).Split('{')[1]).TrimEnd('}')

}

Or use the following one-liner:

Get-ADComputer 'lon-wks-c211'| Get-ADObject -properties * | Select-Object distinguishedname, msFVE-REcoveryPassword, whencreated

Delegating Permissions to View BitLocker Recover Keys in AD

You can delegate the permissions to view information about BitLocker recovery keys in AD to a certain group of users. For example, security administrators.

We created a new security group in AD-BitLocker Viewers.

how to store bitlocker keys in active directory

Right-click on the OU that contains the computer objects with BitLocker recovery keys. Select Delegate Control.

backup bitlocker key to ad

Add the BitLocker Viewers group.

bitlocker key active directory

In the next step of the wizard, select Create a custom task to delegate.

Then select the option Only the following objects in the folder. Check the MSFVE-RecoveryInformation objects.

powershell enable bitlocker and save recovery key to ad

Grant the Full control permissions.

bitlocker keys in ad

Now all users added to the BitLocker Viewers group can view the Recovery tab with BitLocker recovery information.

I enjoy technology and developing websites. Since 2012 I'm running a few of my own websites, and share useful content on gadgets, PC administration and website promotion.
Cyril Kardashevsky

11 comments

  1. Can more than OU be set up to allow recovery keys be written to? Currently, we have one OU which works well, but I’m wondering if we can allow computers in a different OU to also store a key when Bitlocker is run (same properties as our Bitlocker OU).
    Just an FYI…
    I’ve noticed that when you move a pc from the Bitlocker OU to a GPO-free OU, the key is gone from the recovery tab, but appears again when you move it back. I’m guessing this is by design.

  2. Hi there,
    you said: “In schema version of Windows Server 2012 and higher, this functionality works “out of the box”. The same is applicable on the computers running following versions of Windows Server 2016.”

    we run win 2012r2 as DCs we 2008r2 domain functional level – should that be OK?
    Thanks

  3. AD GPO policy can’t force you to apply it to your PC?
    User wants to automatically deploy settings in AD without having to set up BitLocker

  4. I followed the steps as mentioned, but I still receive the prompt to enter a password after selecting “Turn on BitLocker”. I would like to enable BitLocker to enable on all user systems with no user interaction and store the encryption key in Active directory.

    Could someone please tell me if I am missing something to auto store the BitLocker key in AD?

  5. You kind of glossed over the most important step:

    9. Turn on BitLocker on the selected drives of your PC.

    If I have all the encryption settings and AD stuff setup by GPO, and want to turn bitlocker on remotely via a script, what do I need to include in the command and what don’t I?

  6. Granting full perms to BitLocker Viewers Group in AD….does it have to be full permission for this group, why not just read only?

  7. i tried read only or granted permission to all boxes, without full control, you will not able to see the recovery key for some reason.

  8. Great article!

    I believe the policy “Store BitLocker recovery information in Active Directory Domain Services (Windows Server 2008 and Windows Vista)” is not necessary:

    “This policy setting is only applicable to computers running Windows Server 2008 or Windows Vista.”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.