下記のリンクではBitLocker 暗号化ドライブのロックをパスワードを使って解除しましたが、ここでは、暗号化時に出力した48文字の回復キーを使ってアンロックするサンプルを掲載しています。
スポンサーリンク
BitLocker暗号化のロックを回復キーで解除する
暗号化ドライブのロックを回復キーを使用して解除するサンプルコードになります。詳細はサンプル内のコメントを参照ください。
string driveLetter = "H:"; // ドライブレター
// 暗号化デバイスを取得
ManagementObjectSearcher sea;
sea = new ManagementObjectSearcher("root\\CIMV2\\Security\\MicrosoftVolumeEncryption",
"SELECT * FROM Win32_EncryptableVolume where DriveLetter='" + driveLetter + "'");
foreach (ManagementObject mo in sea.Get())
{
ManagementBaseObject statProtection = mo.InvokeMethod("GetLockStatus", null, null);
// ロック中は1、ロック状態でなければ 0
if (statProtection["LockStatus"].ToString() == "1")
{
// 回復キーを使ってロックを解除
ManagementBaseObject inParams = mo.GetMethodParameters("UnlockWithNumericalPassword");
// パラメータに回復キーを設定
inParams["NumericalPassword"] = "xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx";
// または以下の形式
//inParams["NumericalPassword"] = "xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx";
// アンロック実行
ManagementBaseObject outParams = mo.InvokeMethod("UnlockWithNumericalPassword", inParams, null);
if (outParams["returnValue"].ToString() != "0") {
// エラー
}
}
}
参考