本主题面向 IT 专业人员介绍如何使用 Windows PowerShell 在 Windows Server 2012 或更高版本中生成组托管服务帐户密码,在域控制器密钥上创建 Microsoft 密钥分发服务 (kdssvc.dll) 根密码。
域控制器 (DC) 需要根密钥才能开始生成 gMSA 密码。域控制器将在创建后最多等待 10 小时,以允许所有域控制器在允许创建 gMSA 之前聚合其 AD 复制。 10 小时的设置是一种安全措施,可防止在环境中的所有 DC 都可以响应 gMSA 请求之前生成密码。如果您尝试过快地使用 gMSA,则密钥可能没有复制到所有域控制器,因此当 gMSA 主机尝试检索密码时,密码检索可能会失败。如果使用具有受限复制计划的 DC 或存在复制问题,也可能无法检索 gMSA 密码。
注意事项
删除并重新创建根键可能会导致由于缓存键而导致删除后继续使用旧键的问题。如果重新创建了根 (root)ad域服务器 本地账号,则在所有域控制器上重新启动 KDC 密钥分发服务。
Domain Admins 或 Enterprise Admins 组的成员身份或同等身份是完成此过程的最低要求。有关使用适当帐户和组成员身份的更多信息ad域服务器 本地账号,请参阅本地和域默认组。
注意事项
运行 Windows PowerShell 命令以管理组托管服务帐户需要 64 位体系结构。
使用 Add-KdsRootKey cmdlet 创建 KDS 根密钥
在 Windows Server 2012 或更高版本的域控制器上,从 Windows PowerShell 运行应用程序。
在 Windows PowerShell Active Directory 模块的命令提示符处键入以下命令,然后按 Enter:
添加-KdsRootKey -EffectiveImmediately
提示
validity time 参数可用于给出密钥在使用前传播到所有 DC 的时间。使用 Add-KdsRootKey -EffectiveImmediately 将根密钥添加到目标 DC,KDS 服务将立即使用该根密钥。但是,在复制成功之前,其他域控制器将无法使用根密钥。
KDS 根密钥存储在 Active Directory 中的容器“CN=Master RootKey,CN=Group Key Distribution Services,CN=Services,CN=Configuration,DC=”中。它们具有属性 msKds-DomainID,该属性链接到创建对象的域控制器的计算机帐户。当此域控制器被降级并从域中删除时,此值将引用计算机帐户的墓碑。损坏的值可以忽略,因为它仅用于帮助管理员跟踪刚刚创建的对象。还可以更改属性值,指向林中其他域控制器的计算机对象。
对于只有一个 DC 的测试环境,您可以使用以下过程创建 KDS 根密钥并将开始时间设置为过去的时间,以避免在密钥生成间隔之间等待。验证 4004 事件是否记录在 kds 事件日志中。
在测试环境中创建即时 KDS 根密钥
在 Windows Server 2012 或更高版本的域控制器上,从 Windows PowerShell 运行应用程序。
在 Windows PowerShell Active Directory 模块的命令提示符处键入以下命令,然后按 Enter:
$a=获取日期
$b=$a.AddHours(-10)
Add-KdsRootKey -EffectiveTime $b
或者使用单个命令
Add-KdsRootKey -EffectiveTime ((get-date) .addhours (-10) )
ADManager Plus是一款非常流行的AD域管理软件,已经被很多企业使用。针对AD领域重复繁琐的工作内容,开发了多种管理功能。例如,它可以轻松完成让管理员摸不着头脑的用户的批处理任务。并且内置了近200种报表,管理员可以通过报表轻松掌握域内用户的情况,进而实现针对性管理。
管理员使用ADManager Plus管理企业AD域,不仅大大提高了事件处理效率,而且很大程度上避免了AD域管理中因操作不当而导致的各种错误。其安全高效的AD域管理能力,为企业发展提供最强大的支持。