1.概要
Windows11 の BitLocker 有効化を、Powershell コマンドのみで行う方法を調査しました。Windows11 のキッティング効率化につながれば幸いです。
2.コード
結論から言うと、コマンドは以下の通りです。
# PINの使用の許可設定
if (-not(Test-Path -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE")) {New-Item "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Force}
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "EnableBDEWithNoTPM" -PropertyType "DWord" -Value "0" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseAdvancedStartup" -PropertyType "DWord" -Value "1" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPM" -PropertyType "DWord" -Value "2" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPMKey" -PropertyType "DWord" -Value "0" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPMKeyPIN" -PropertyType "DWord" -Value "0" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPMPIN" -PropertyType "DWord" -Value "2" -Force
# BitLockerの有効化
$BitLockerPass = ConvertTo-SecureString "12345678" -AsPlainText -Force
Enable-BitLocker -MountPoint "C:" -TpmAndPinProtector $BitLockerPass -UsedSpaceOnly -skiphardwaretest
# 暗号化の状態確認
Get-BitLockerVolume
# 回復キーの設定及び出力
Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector
(Get-BitLockerVolume -MountPoint C:).KeyProtector | Out-File <任意のファイルパス>
# 最後に必ずPCを再起動してください
3.内容
例として PIN "12345678" で C ドライブを暗号化します。
これは以下のコマンドで可能です。
$BitLockerPass = ConvertTo-SecureString "12345678" -AsPlainText -Force
Enable-BitLocker -MountPoint "C:" -TpmAndPinProtector $BitLockerPass -UsedSpaceOnly -skiphardwaretest
しかし、以下のようなエラーが出ることがあります。
Add-TpmAndPinProtectorInternal : グループ ポリシー設定では、スタートアップ時の PIN の使用は許可されていません。別の BitLocker スタートアップ オプションを選択してください。 (HRESULT からの例外:0x80310060)
発生場所 C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\BitLocker\BitLocker.psm1:2099 文字:31
+ ... $Result = Add-TpmAndPinProtectorInternal $BitLockerVolumeInternal.M ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Add-TpmAndPinProtectorInternal
これを解消するためには、ローカルグループポリシーでPINの使用を許可してやらなければなりません。
- [ ローカルグループポリシーエディター ]を開く
- [ コンピューターの構成 ] > [ 管理用テンプレート ] > [ BitLocker ドライブの暗号化] > [ オペレーティングシステムのドライブ ] を開く
- [ スタートアップ時に追加の認証を要求する ] を設定する。(設定画面は以下のような画面)
このローカルグループポリシー作成と同等の操作をPowershellコマンドで行います。
具体的にはレジストリ設定を行います。
if (-not(Test-Path -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE")) {New-Item "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Force}
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "EnableBDEWithNoTPM" -PropertyType "DWord" -Value "0" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseAdvancedStartup" -PropertyType "DWord" -Value "1" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPM" -PropertyType "DWord" -Value "2" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPMKey" -PropertyType "DWord" -Value "0" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPMKeyPIN" -PropertyType "DWord" -Value "0" -Force
New-ItemProperty -LiteralPath "HKLM:\SOFTWARE\Policies\Microsoft\FVE" -Name "UseTPMPIN" -PropertyType "DWord" -Value "2" -Force
その後、再度 Enable-BitLocker コマンドを実行すると、エラーなくコマンドが完了し、暗号化が始まります。
暗号化には時間がかかることもありますが、進捗は以下のコマンドで確認できます。
Get-BitLockerVolume
Encryption Percentage が 100% 未満で、Protection Status が Off の場合は、まだ完了していませんので待機します。
VolumeType Mount CapacityGB VolumeStatus Encryption KeyProtector AutoUnlock Protection
Point Percentage Enabled Status
---------- ----- ---------- ------------ ---------- ------------ ---------- ----------
OperatingSystem C: 237.36 EncryptionInProgress 78 {TpmPin} Off
Encryption Percentage が 100% で、Protection Status が On の場合は完了です。
VolumeType Mount CapacityGB VolumeStatus Encryption KeyProtector AutoUnlock Protection
Point Percentage Enabled Status
---------- ----- ---------- ------------ ---------- ------------ ---------- ----------
OperatingSystem C: 237.36 FullyEncrypted 100 {TpmPin} On
回復キーは以下のコマンドで設定できます。
Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector
コマンドを実行すると以下のような出力があるので、回復キー(48桁の数字)をメモしておくのが良いです。
警告: 必要な操作:
1. この数字の回復パスワードを、使用しているコンピューター以外のセキュリティ保護された場所に保存してください:
<48桁の数字>
データの消失を防ぐために、このパスワードを直ちに保存してください。このパスワードは、暗号化ボリュームのロックを解除できるようにします。
もしくは以下のコマンドで、回復キーをファイル出力することもできます。
(Get-BitLockerVolume -MountPoint C:).KeyProtector | Out-File <任意のファイルパス>
警告
最後に必ずPCを再起動してください。