MBAM が TPM の所有権を取得できない

この記事では、MBAM が TPM を初期化しようとしたときに発生するエラーの解決策について説明します。

適用対象:Windows Server 2012 R2、Windows 10 - すべてのエディション
元の KB 番号: 2640178

現象

Microsoft BitLocker の管理と監視 (MBAM) が TPM の初期化を試みると、一部のコンピューターで次のエラー メッセージが表示されることがあります。

Error
BitLocker ドライブの暗号化に問題があり、閉じる必要があります。
BitLocker は終了します。 追加のヘルプが必要な場合は、会社のヘルプ デスクにお問い合わせください。

詳細
TPM の所有権を取得中にエラーが発生しました。

BitLocker ドライブの暗号化の詳細に問題があり、エラーを閉じる必要があります。

原因

MICROSOFT BitLocker の管理と監視 (MBAM) は、TPM に保証キー (EK) のペアが見つからない場合、所有権を取得できません。

保証キー (EK) は、一般に製造時にトラステッド プラットフォーム モジュール (TPM) セキュリティ ハードウェアに永続的に埋め込まれた暗号化キーです。

TPM の製造元が保証キー (EK) ペアを作成しなかった場合、このエラー メッセージが表示されることがあります。

Microsoft BitLocker 管理および監視 (MBAM) クライアントで詳細ログを有効にすると、次のようなエラーが表示されます。

TPM_E_NO_ENDORSEMENT - 0x80280023 - TPM に保証キー (EK) がインストールされていません。

解決方法

この問題を解決するには、次の手順に従います。

  1. 以下のスクリプト テキストをメモ帳ファイルにコピーし、"tpm-ek.txt" (引用符なし) として保存します。
  2. 上記のテキスト ファイルの拡張子を "tpm-ek.vbs" (引用符なし) に変更します。
  3. マシンで vbs スクリプトを実行して、保証キー (EK) ペアを生成します。
  4. 次に、MBAM が TPM の所有権を取得しようとすると、正常に動作します。 これは、MBAM エージェントが次のクライアント ウェイクアップ頻度 (既定では 90 分) に達したときに発生します。
=============== Script Text ===============

Set objWMIService = GetObject("WinMgmts:{impersonationLevel=impersonate,AuthenticationLevel=pktprivacy}//" & "." & "\root\CIMV2\Security\MicrosoftTpm")

Set objItems = objWMIService.InstancesOf("Win32_Tpm")

For Each objItem In objItems

'rvaluea = objItem.IsEnabled(A)'rvalueb = objItem.IsActivated(B)'rvaluec = objItem.IsOwned(C)

rvalued = objItem.IsEndorsementKeyPairPresent(D)'If A Then

'WScript.Echo "TPM Is Enabled: " & A

'Else

'WScript.Echo "TPM Is Enabled: " & A

'End If

'If B Then

'WScript.Echo "TPM Is Activated: " & B

'Else

'WScript.Echo "TPM Is Activated: " & B

'End If

'If C Then

'WScript.Echo "TPM Is Owned: " & C

'Else

'WScript.Echo "TPM Is Owned: " & C

'End If

'If D Then

'WScript.Echo "TPM Is EndorsementKeyPairPresent: " & D

'Else

If Not D Then

'WScript.Echo "TPM Is EndorsementKeyPairPresent: " & D

'WScript.Echo "CreateEndorsementKeyPair... Please Wait"

rvaluee = objItem.CreateEndorsementKeyPair(E)'WScript.Echo "CreateEndorsementKeyPair... Returns:" & rvaluee & " and E=" & E

If (rvaluee <> 0) Then

WScript.Quit -1

End If

End If

Next
WScript.Quit 0

=============== Script Text ===============

関連情報