无法在 AD 中存储 TPM 信息

无法在 AD 中存储 TPM 信息

我正在尝试使用 GP 在 AD 中存储 TPM 信息。我已验证该模式包含正确的对象属性,并验证该属性和 ACE 是否存在于给定的计算机对象上。

Require TPM back to AD DS我确实注意到,在最新的 ADMX 中, GP 中似乎缺少了Turn on TPM backup to Active Directory Domain Services,取而代之的是以下语句:

If you enable this policy setting, TPM owner information will be automatically and silently backed up to AD DS when you use Windows to set or change a TPM owner password.

dsa.msc's Attribute Editor重置 TPM 密码后,我使用adsiedit.msc和脚本Get-TPMOwnerInfo.vbs来检查数据是否存在,但没有成功。

为什么我不能将 TPM 信息存储在 AD 中?

[关于评论的更新]

Could you maybe add some details about precisely how you're trying to get the TPM recovery info into AD, and precisely how it's failing? 

正如所述文档,在将 GP ( Turn on TPM backup to Active Directory Domain Services) 应用到客户端计算机后:

TPM recovery information is backed up when you:
- Set the TPM owner password during TPM initialization.
- Change the TPM owner password.

目前,我不确定在哪里可以看到相关错误...除了我没有看到msTPM-OwnerInformation计算机对象属性中存储的更新的 TPM 信息。要明确的是,问题是 TPM 信息没有存储在 AD 中,而我希望将其存储在 AD 中。

What operating system(s) are running on the machine(s) with the TPM(s)?

我正在运行 Windows 8.1,但将同时针对 Windows 8.1 和 Windows 7。

[附加信息]

请注意组策略设置参考中,以下注册表项反映了GP应用程序:

HKLM\Software\Policies\Microsoft\TPM REG_DWORD: ActiveDirectoryBackup = 0x1
HKLM\Software\Policies\Microsoft\TPM REG_DWORD: RequireActiveDirectoryBackup = 0x1

我执行了以下操作:

  1. 验证AD 中的计算机对象上是否存在具有相应权限SELF的ACE 。Write msTPM-OwnerInformation
  2. 这些注册表值在客户端上按预期设置
  3. 然后我使用 tpm.msc 重置密码
  4. 没有设置msTPM-OwnerInformation

答案1

事实证明,将 TPM 信息存储到 AD 的功能(或将 TPM 信息存储到 AD 的尝试)仅发生在您改变密码。我没有更改密码,而是使用相同的密码。

由于我们的 AD 架构太老旧了(看起来像 Server 2008 SP1,甚至不是 R2),我使用了BitLockerTPMSchemaExtension.ldf(可用的这里)扩展架构以包含以下属性:

  • msTPM 所有者信息
  • msFVE-RecoveryGuid
  • msFVE 恢复密码
  • msFVE 恢复信息
  • msFVE-VolumeGuid
  • msFVE 密钥包

(当然,值得注意的是,它msTPM-OwnerInformation已经存在)

因此,我以为这会顺利进行,于是我实际上改变TPM 密码,并立即收到There is no such object on the server (error code: 0x80072030).带有具体错误的错误代码Cannot change TPM owner password.

很简单,msTPM-OwnerInformationWindows 7 及以下版本使用该属性,但 Windows 8+(我的测试机就是它)使用该属性,msTPM-TPMInformationForComputer更详细地讨论如下此 MSFT TechNet 线程

要解决此问题,请按照MSFT 文档TpmSchemaExtension.ldf,使用和扩展 AD 架构TpmSchemaExtensionACLChanges.ldf

ldifde -i -v -f TpmSchemaExtension.ldf -c "DC=X" "dc=contoso,dc=corp" -k -j .
ldifde -i -v -f TpmSchemaExtensionACLChanges.ldf -c "DC=X" "dc=contoso,dc=corp" -k -j .

相关内容