Add-BitLockerKeyProtector

Add-BitLockerKeyProtector

Adds a key protector for a BitLocker volume.

Syntax

Parameter Set: __AllParameterSets
Add-BitLockerKeyProtector [-MountPoint] <String[]> [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: PasswordProtector
Add-BitLockerKeyProtector [[-Password] <SecureString> ] -PasswordProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: RecoveryKeyProtector
Add-BitLockerKeyProtector [-RecoveryKeyPath] <String> -RecoveryKeyProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: RecoveryPasswordProtector
Add-BitLockerKeyProtector [[-RecoveryPassword] <String> ] -RecoveryPasswordProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SidProtector
Add-BitLockerKeyProtector [-ADAccountOrGroup] <String> -ADAccountOrGroupProtector [-Service] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: StartupKeyProtector
Add-BitLockerKeyProtector [-StartupKeyPath] <String> -StartupKeyProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: TpmAndPinAndStartupKeyProtector
Add-BitLockerKeyProtector [-StartupKeyPath] <String> [[-Pin] <SecureString> ] -TpmAndPinAndStartupKeyProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: TpmAndPinProtector
Add-BitLockerKeyProtector [[-Pin] <SecureString> ] -TpmAndPinProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: TpmAndStartupKeyProtector
Add-BitLockerKeyProtector [-StartupKeyPath] <String> -TpmAndStartupKeyProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: TpmProtector
Add-BitLockerKeyProtector -TpmProtector [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Add-BitLockerKeyProtector cmdlet adds a protector for the volume key of the volume protected with BitLocker Drive Encryption.

When a user accesses a drive protected by BitLocker, such as when starting a computer, BitLocker requests the relevant key protector. For example, the user can enter a PIN or provide a USB drive that contains a key. BitLocker retrieves the encryption key and uses it to read data from the drive.

You can use one of the following methods or combinations of methods for a key protector:

-- Trusted Platform Module (TPM). BitLocker uses the computer's TPM to protect the encryption key. If you specify this protector, users can access the encrypted drive as long as it is connected to the system board that hosts the TPM and the system boot integrity is intact. In general, TPM-based protectors can only be associated to an operating system volume.
-- TPM and Personal Identification Number (PIN). BitLocker uses a combination of the TPM and a user-supplied PIN. A PIN is four to twenty digits or, if you allow enhanced PINs, four to twenty letters, symbols, spaces, or numbers.
-- TPM, PIN, and startup key. BitLocker uses a combination of the TPM, a user-supplied PIN, and input from of a USB memory device that contains an external key.
-- TPM and startup key. BitLocker uses a combination of the TPM and input from of a USB memory device.
-- Startup key. BitLocker uses input from of a USB memory device that contains the external key.
-- Password. BitLocker uses a password.
-- Recovery key. BitLocker uses a recovery key stored as a specified file in a USB memory device.
-- Recovery password. BitLocker uses a recovery password.
-- Active Directory Domain Services (AD DS) account. BitLocker uses domain authentication to unlock data volumes. Operating system volumes cannot use this type of key protector.

You can add only one of these methods or combinations at a time, but you can run this cmdlet more than once on a volume.

Adding a key protector is a single operation; for example, adding a startup key protector to a volume that uses the TPM and PIN combination as a key protector results in two key protectors, not a single key protector that uses TPM, PIN, and startup key. Instead, add a protector that uses TPM, PIN, and startup key and then remove the TPM and PIN protector by using the Remove-BitLockerKeyProtector cmdlet.

For a password or PIN key protector, specify a secure string. You can use the ConvertTo-SecureString cmdlet to create a secure string. You can use secure strings in a script and still maintain confidentiality of passwords.

This cmdlet returns a BitLocker volume object. If you choose recovery password as your key protector but do not specify a 48-digit recovery password, this cmdlet creates a random 48-bit recovery password. The cmdlet stores the password as the RecoveryPassword field of the KeyProtector attribute of the BitLocker volume object.

If you use startup key or recovery key as part of your key protector, provide a path to store the key. This cmdlet stores the name of the file that contains the key in the KeyFileName field of the KeyProtector field in the BitLocker volume object.

For an overview of BitLocker, see BitLocker Drive Encryption Overview (https://technet.microsoft.com/en-us/library/cc732774.aspx) on TechNet.

Parameters

-ADAccountOrGroup<String>

Specifies an account using the format Domain\User. This cmdlet adds the account you specify as a key protector for the volume encryption key.

Aliases

sid

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ADAccountOrGroupProtector

Indicates that BitLocker uses an AD DS account as a protector for the volume encryption key.

Aliases

sidp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MountPoint<String[]>

Specifies an array of drive letters or BitLocker volume objects. This cmdlet adds a key protector to the volumes specified. To obtain a BitLocker volume object, use the Get-BitLockerVolume cmdlet.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue, ByPropertyName)

Accept Wildcard Characters?

false

-Password<SecureString>

Specifies a secure string object that contains a password. The cmdlet adds the password specified as a protector for the volume encryption key.

Aliases

pw

Required?

false

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PasswordProtector

Indicates that BitLocker uses a password as a protector for the volume encryption key.

Aliases

pwp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Pin<SecureString>

Specifies a secure string object that contains a PIN. The cmdlet adds the PIN specified, with other data, as a protector for the volume encryption key.

Aliases

p

Required?

false

Position?

3

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RecoveryKeyPath<String>

Specifies a path to a recovery key. This cmdlet adds the recovery key stored in the specified path as a protector for the volume encryption key.

Aliases

rk

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RecoveryKeyProtector

Indicates that BitLocker uses a recovery key as a protector for the volume encryption key.

Aliases

rkp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RecoveryPassword<String>

Specifies a recovery password. If you do not specify this parameter, the cmdlet creates a random password. You can enter a 48 digit password. The cmdlet adds the password specified or created as a protector for the volume encryption key.

Aliases

rp

Required?

false

Position?

2

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RecoveryPasswordProtector

Indicates that BitLocker uses a recovery password as a protector for the volume encryption key.

Aliases

rpp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Service

Indicates that the system account for this computer unlocks the encrypted volume.

Aliases

none

Required?

false

Position?

named

Default Value

False

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StartupKeyPath<String>

Specifies a path to a startup key. The cmdlet adds the key stored in the specified path as a protector for the volume encryption key.

Aliases

sk

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StartupKeyProtector

Indicates that BitLocker uses a startup key as a protector for the volume encryption key.

Aliases

skp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TpmAndPinAndStartupKeyProtector

Indicates that BitLocker uses a combination of TPM, a PIN, and a startup key as a protector for the volume encryption key.

Aliases

tpskp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TpmAndPinProtector

Indicates that BitLocker uses a combination of TPM and a PIN as a protector for the volume encryption key.

Aliases

tpp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TpmAndStartupKeyProtector

Indicates that BitLocker uses a combination of TPM and a startup key as a protector for the volume encryption key.

Aliases

tskp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TpmProtector

Indicates that BitLocker uses TPM as a protector for the volume encryption key.

Aliases

tpmp

Required?

true

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • BitLockerVolume[], string[]

Outputs

The output type is the type of the objects that the cmdlet emits.

  • BitLockerVolume[]

Examples

Example 1: Add key protector

This example adds a combination of the TPM and a PIN as key protector for the BitLocker volume identified with the drive letter C:.

The first command uses the ConvertTo-SecureString cmdlet to create a secure string that contains a PIN and saves that string in the $SecureString variable. For more information about the ConvertTo-SecureString cmdlet, type Get-Help ConvertTo-SecureString.

The second command adds a protector to the BitLocker volume that has the drive letter C:. The command specifies that this volume uses a combination of the TPM and the PIN as key protector and provides the PIN saved in the $SecureString variable.

PS C:\> $SecureString = ConvertTo-SecureString "1234" -AsPlainText -Force
PS C:\> Add-BitLockerProtector -MountPoint "C:" -Pin $SecureString -TPMandPinProtector

Example 2: Add a recovery key for all BitLocker volumes

This command gets all the BitLocker volumes for the current computer and passes them to the Add-BitLockerKeyProtector cmdlet by using the pipe operator. This cmdlet specifies a path to a recovery key and indicates that these volumes use a recovery key as a key protector.

PS C:\> Get-BitLockerVolume | Add-BitLockerKeyProtector -RecoveryKeyPath "E:\Recovery\" -RecoveryKeyProtector

Example 3: Add credentials as a key protector

This command adds an AD DS account key protector to the BitLocker volume specified by the MountPoint parameter. The command specifies an account and specifies that BitLocker uses user credentials as a key protector. When a user accesses this volume, BitLocker prompts for credentials for the user account Western\SarahJones.

PS C:\> Add-BitLockerKeyProtector -MountPoint "C:" -AdAccountOrGroup "Western\SarahJones" -AdAccountOrGroupProtector

Backup-BitLockerKeyProtector

Remove-BitLockerKeyProtector

Get-BitLockerVolume

Enable-BitLocker