我在Amazon Web Services上设置了一个testing环境,包括2个Web服务器,1个数据库服务器和1个域控制器。 所有这些都是Windows Server 2012并join到域中。 偶尔,成员服务器已经随机抛出错误the trust relationship between this workstation and the primary domain failed 。 我能够通过在违规的计算机上执行本地login来解决此问题,然后执行PowerShell命令Reset-ComputerMachinePassword 。 之后没有问题。
但是,我想知道是否问题的根源是因为组策略设置“禁用机器帐户密码更改”当前被禁用,因此迫使我手动重置机器密码。
我是否应该启用这项政策,如果要实施这项政策,会有什么后果呢?
“最长机器帐户密码使用期限”设置的值为30天。
禁用机器帐户密码更改设置应该几乎从不启用。 它决定了域计算机是否定期更改其计算机帐户密码,基于最长的机器密码使用期限设置。
链接的Technet文档中对此设置的Microsoft描述:
域成员:禁用机器帐户密码更改策略设置确定域成员是否定期更改其计算机帐户密码。 将其值设置为“启用”可防止域成员更改计算机帐户密码。 将其设置为“禁用”允许域成员更改计算机帐户密码,如“域成员:最大计算机帐户密码使用期限策略”设置所指定的值,默认情况下为每30天。
运行Windows Server 2008 R2,Windows Server 2008或Windows Server 2003的计算机的属于某个域的默认configuration是,系统会自动要求每隔30天更改其帐户的密码。 禁用此function会导致运行这些操作系统的计算机保留与其计算机帐户相同的密码。 不再能够自动更改其帐户密码的计算机存在恶意用户确定系统域帐户密码的风险。
链接的Technet文档中有关此设置的Microsoft最佳实践:
不要启用此策略设置。 计算机帐户密码用于build立成员和域控制器之间以及域内域控制器之间的安全通道通信。 安全通道build立之后,会传输进行身份validation和授权决策所需的敏感信息。
不要使用此策略设置尝试支持使用相同计算机帐户的双引导scheme。 如果要双启动连接到同一个域的安装,请给两个安装不同的计算机名称。 此策略设置已添加到Windows操作系统中,以便组织预存几个月后投入使用的预置计算机。 这些计算机不必重新join域。
如上所述,创build此设置是为了允许组织在最大机器帐户密码使用期限之后预先生成计算机并投入生产,而不会导致失败的信任关系错误。
由于域控制器上的机器帐户密码与机器本地存储的机器帐户密码不匹配,或者机器帐户密码已超过最大使用期限设置(即已过期),因此会生成此特定错误。
一般情况下,机器账号密码过期是由于机器抛出错误和域控制器无法在最长机器账号密码的使用时间内通信,或者无法安全地进行。 例如,如果您将第二台计算机join具有现有名称的域,机器帐户密码不匹配 – 计算机帐户被覆盖,并且创build新的计算机帐户密码,所以第一台计算机不再具有适当的计算机帐户密码进行身份validation。
在您的具体情况下,我的第一个怀疑是,防火墙阻止域控制器和计算机之间的Active Directory通信量,这会继续产生此错误,特别是在域控制器和计算机同步密码时产生。 机器在尝试创build安全通信通道时发生错误,甚至在尝试自动更新机器账号密码时发生错误,这也是一种明显的可能性。 在任何情况下,您都应该能够通过查看本机和域控制器上的事件日志来确定问题所在。 您正在查找在两台服务器之间build立连接的错误,以及任何一台计算机上的安全子系统引发的任何错误,以查明造成此问题的确切原因。
创build将成为testing或开发实验室的一部分的虚拟机时,该策略或相应的registry键是非常有用的,特别是当这些虚拟机可能处于脱机状态或长时间断开连接时。
但一般来说,不build议将其用于生产。