ドメイン環境のPCでMBAMサーバーからBitLockerの回復キーが取得できなくなった時に、MBAMのかわりにActive Directoryから回復キーを取得する方法

PC環境、設定、メンテナンス関連のアイキャッチ画像 Active Directory

表題の通り、今月のWindowsの月例のパッチ適用後に、PC起動時にBitLockerの回復キー入力を求められる事象が発生するケースが起こっているようです。

自分の会社でも該当の事象が発生し、いつものとおり回復キー入力画面に書いてある回復キーIDから、MBAM(Malwarebytes’ Anti-Malware)で回復キーを参照しようと思ったのですが。「無効なキーID」と表示され参照が不可に。

bitlocker回復キー取得画面

その後、他の方法はないかと、BIOSの設定を変えてみたりと色々いじってみたのですが、やはり回復キー入力画面はスキップできず。

さらに調べてみると、ActiveDirectoryのComputerからキーを取得する方法がありましたので、試したところうまくいきました。

おそらく、同じような問題で現在悩まれている方もいると思うので、対処方法について備忘録もかねて記載しておきます。

作業環境:
Windows11 Pro 22H2, Pavilion Aero

ステップ1:スクリプトを準備する

  1. テキストエディタを開き、以下の通りコードを入力する
    ※2行目のOU部分と、4行目のcsvの保存先のパスを、それぞれ実行環境に応じて変更してください。
    
    # Set the AD target OU
    $computers = Get-ADComputer -Filter * -SearchBase "OU=yourou2,OU=yourou1,DC=yourdomain,DC=local"
    # Set the absolute path to the output CSV file
    $csvPath = "C:\temp\bitlocker-list.csv"
    # Declare an output array to store data
    $output = @()
    # Declare CSV headers
    $output += "HostName, RecoveryPassword"
     
    # Loop over computers, check if BitLocker is stored
    foreach ($computer in $computers) {
     # Fetch the msFVE-RecoverInfo object and sort by creation date to make sure the latest key is fetched
     $fetch = $(Get-ADObject -Filter {objectclass -eq 'msFVE-RecoveryInformation'} -SearchBase $computer.DistinguishedName -Properties 'msFVE-RecoveryPassword',whencreated | Sort-Object WhenCreated -Descending).'msFVE-RecoveryPassword'
     # If blank, write "BitLocker not active" to the data object.
     if (-Not $fetch) {
      $output += ($computer.Name,"BitLocker not active") -join ","
     }
     # If more than one key, fetch the first (will be the newest).
     elseif ($fetch.Count -gt 1) {
      $output += ($computer.Name, $fetch[0]) -join ","
     }
     # If single key, fetch it.
     else {
      $output += ($computer.Name, $fetch) -join ","
     }
    }
     
    # Export output to CSV
    $output | Out-File -FilePath $csvPath
     
    
  2. 任意のファイル名を付け、拡張子を.ps1(Powershellスクリプト)として保存する

ステップ2:Powershellでスクリプトを実行する

  1. Powershellデスクトップアプリを管理者として起動し、スクリプトがある場所へ移動する
    powershellデスクトップアプリ
  2. スクリプトファイルのある場所へ移動し、スクリプトを実行する
    ※移動先フォルダ、ファイル名は自分で設定した環境に合わせて修正してください。
    
    PowerShell 7.4.3
    
       A new PowerShell stable release is available: v7.4.4
       Upgrade now, or check out the release page at:
         https://aka.ms/PowerShell-Release?tag=v7.4.4
    
    PS C:\Users\yourusername> cd c:\yourfolder
    PS C:\data> .\yourscriptfile.ps1
    PS C:\data>
    
    ※実行例

    powershellデスクトップアプリ上のコマンド実行の流れ

ステップ3:生成されたcsvファイルを確認する

生成されたcsvファイルを確認する

Powershell上でエラーが出る場合は、管理者権限で実行されていることを確認してください。

おまけ

回復キーIDを写真で受け取った場合に入力が面倒ですが、実はいつのまにかsnipping toolで画像のテキスト化ができるようになっていました。こちらもやり方を記事にしますのでよかったら見てみてください。

コメント

タイトルとURLをコピーしました