見出し画像

BitLockerに重複した回復キーを追加しないようにしたい

WindowsパソコンでBitLockerを有効にするとランダムな数字48ケタの回復キーがセットされます。
ランダムだと、ちょっと不便なので思い通りの回復キーをセットしたい。
そのようなときは、下のコードを実行すると思い通りの回復キーをセットできます。
(Cドライブの回復キーをセットする場合)
manage-bde -protectors -add c: -rp "001111-002222-003333-004444-001111-002222-003333-004444"

しかし、
なぜか何度も同じコードを実行することができ、同じ回復キーが何個も登録されてしまいます。

さっきのコードを5回実行したあと「manage-bde -protectors -get c:」で回復キーを確認すると

PS C:\temp> manage-bde -protectors -get c:
BitLocker ドライブ暗号化: 構成ツール Version 10.0.19041
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

ボリューム C: []
すべてのキーの保護機能

    数字パスワード:
      ID: {D68A27F3-A2E3-4CEE-9829-08BEECDAB73B}
      パスワード:
        001111-002222-003333-004444-001111-002222-003333-004444

    数字パスワード:
      ID: {D147D6E5-3AEF-4F86-A38B-C0A2CA83A648}
      パスワード:
        001111-002222-003333-004444-001111-002222-003333-004444

    数字パスワード:
      ID: {D8337E8E-0B44-4D90-A724-6E5767A52803}
      パスワード:
        001111-002222-003333-004444-001111-002222-003333-004444

    数字パスワード:
      ID: {ADB0D26B-37F6-44AA-9F93-FB5FAD34DB6F}
      パスワード:
        001111-002222-003333-004444-001111-002222-003333-004444

    数字パスワード:
      ID: {2B70841C-B9F3-48EB-BBC9-204C5D07574E}
      パスワード:
        001111-002222-003333-004444-001111-002222-003333-004444


同じキーが5つ

アホなの?


そこで同じ回復キーをセットしないように関数を作りました。



function Set-BitLockerKeyProtector($recoverykey,$drive){
	$resflg = $False #戻り値 True 成功 False 失敗

	if($recoverykey -eq $Null) {
		return $resflg
	}
	
	if($drive -eq $null){
		$drive = $env:SystemDrive
	}

    write-host "$drive に回復キー $recoverykey を追加します"

	$flg_recoverykey = $False #回復キーが設定済みかのフラグ

	# 回復キーが設定済みか調べる
	$comres = manage-bde -protectors -get $drive
	foreach($i in $comres){
		$pattern = "\b\d{6}-\d{6}-\d{6}-\d{6}-\d{6}-\d{6}-\d{6}-\d{6}\b"
		if ($i -match $pattern) {
			$match = $matches[0]
			if($match -eq $recoverykey) {
				$flg_recoverykey = $True
                write-host "すでに同じ回復キーが設定されています"
				break
			}
		}
	}

	# 回復キーを追加設定する
    $comres=""
	if($flg_recoverykey -eq $False) { # 指定の回復キーが設定済みの場合は処理しない
		$comres = manage-bde -protectors -add $drive -rp $recoverykey

		foreach($i in $strings){
			$pattern = "\b\d{6}-\d{6}-\d{6}-\d{6}-\d{6}-\d{6}-\d{6}-\d{6}\b"
			if ($i -match $pattern) {
				$match = $matches[0]
				if($match -eq $recoverykey) {
					$resflg = $True
					break
				}
			}
		}
	}
	
    if($resflg -eq $False) {
        write-host "処理に失敗しました"
        write-host $comres
    }
	return $resflg
}

使いたいときは

Set-BitLockerKeyProtector "001111-002222-003333-004444-001111-002222-003333-004444"

こうすればOK
何回も同じキーは設定されません。

グループポリシーで全員同じ回復キーを設定してやろうと思って作りました。


#PowerShell #BitLocker #Windows #セキュリティ #コマンドレット #回復キー






この記事が気に入ったらサポートをしてみませんか?