当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 修复工作站与 AD 域之间损坏的信任关系

作者:精品下载站 日期:2024-12-14 22:59:10 浏览:13 分类:玩电脑

修复工作站与 AD 域之间损坏的信任关系


在本文中,我们将展示当用户无法登录其域计算机时如何修复工作站和 Active Directory 域之间损坏的信任关系。让我们考虑问题的根本原因以及通过安全通道修复计算机和域控制器之间的信任的简单方法,而无需重新启动计算机和重新加入域。

该工作站与主域之间的信任关系失败。

当用户尝试使用域凭据登录工作站或成员服务器并且输入密码后出现以下错误时,问题就会出现:

The trust relationship between this workstation and the primary domain failed.

[玩转系统] 修复工作站与 AD 域之间损坏的信任关系

该错误也可能如下所示:

The security database on the server does not have a computer account for this workstation trust relationship.

[玩转系统] 修复工作站与 AD 域之间损坏的信任关系

Active Directory 域中的机器(计算机)帐户密码

当计算机加入 Active Directory 域时,会为其创建一个单独的计算机帐户。与用户一样,每台计算机都有自己的密码,用于对域中的计算机进行身份验证并与域控制器建立可信连接。但是,与用户密码不同,计算机密码是自动设置和更改的。

以下是有关 AD 中计算机帐户密码的一些重要事项:

  • AD中的计算机密码必须定期更改(默认每30天更改一次)。

    提示。您可以使用“计算机配置”->“Windows 设置”->“安全设置”->“本地策略”->“安全选项”下的域成员:计算机帐户密码最长期限策略来配置计算机密码最长期限。计算机密码的有效期可能为 0 到 999 天(默认为 30 天);

    [玩转系统] 修复工作站与 AD 域之间损坏的信任关系

  • 与用户密码不同,计算机密码不会过期。密码更改是由计算机发起的,而不是域控制器。计算机密码不受域密码策略的约束;

    即使计算机已关闭 30 天或更长时间,您也可以将其打开,并且它将在您的 DC 上使用旧密码进行身份验证。然后本地Netlogon服务将更改其本地数据库中的计算机密码(该密码存储在注册表中)

    HKLM\SECURITY\Policy\Secrets$machine.ACC

    ),然后它将更新 Active Directory 中的计算机帐户密码。

  • 在最近的 DC 上更改计算机密码,更改不会发送到具有 PDC 模拟器 FSMO 角色的域控制器(即,如果计算机在一个 DC 上更改了密码,则在复制 AD 更改之前,它将无法在另一个 DC 上进行身份验证)。

如果计算机发送到域控制器的密码哈希与 AD 数据库中的计算机帐户密码不匹配,则计算机无法与 DC 建立安全连接,并返回可信连接错误。

为什么会出现这个问题:

  1. 计算机已从 AD 中更改计算机密码之前创建的旧还原点或快照(如果是虚拟机)还原。如果您将计算机回滚到之前的状态,它将尝试使用旧密码在 DC 上进行身份验证。这是最典型的问题;

  2. 已在 AD 中创建了同名计算机,或者有人使用 ADUC 控制台重置了域中的计算机帐户 (

    dsa.msc

    );

    [玩转系统] 修复工作站与 AD 域之间损坏的信任关系

  3. 域中的计算机帐户已被管理员禁用(例如,在禁用非活动 AD 对象的常规过程中);

  4. 计算机上的系统时间错误的情况相当罕见。

这是修复计算机和域之间信任关系的经典方法:

  1. 重置AD中的计算机帐户;

  2. 将计算机从域移至本地管理员下的工作组;

  3. 重启;

  4. 将计算机重新加入域;

  5. 再次重新启动计算机

方法看似简单,但过于笨拙,至少需要重启电脑两次,耗时10-30分钟。此外,您可能会遇到使用旧的本地用户配置文件的问题。

有一种更智能的方法可以使用 PowerShell 修复信任关系,而无需重新加入域或重新启动计算机。

使用 PowerShell 检查并恢复计算机与域之间的信任关系

如果您无法在域帐户下的计算机上进行身份验证,并出现以下错误:此工作站与主域之间的信任关系失败,您需要使用本地管理员帐户登录到计算机。您还可以拔掉网线,并使用最近登录计算机的域帐户使用缓存凭据在计算机上进行身份验证。

打开提升的 PowerShell 控制台并使用 Test-ComputerSecureChannel cmdlet 确保本地计算机密码是否与 AD 中存储的密码匹配。

Test-ComputerSecureChannel -verbose

[玩转系统] 修复工作站与 AD 域之间损坏的信任关系

如果密码不匹配并且计算机无法与域建立信任关系,该命令将返回False -

The Secure channel between the local computer and the domain a-d.site is broken

要强制重置 AD 中的计算机帐户密码,请运行以下命令:

Test-ComputerSecureChannel -Repair -Credential (Get-Credential)

[玩转系统] 修复工作站与 AD 域之间损坏的信任关系

要重置密码,请输入有权重置计算机帐户密码的用户帐户的凭据。必须向用户委派管理 Active Directory 中的计算机的权限(您也可以使用 Domain Admins 组成员)。

然后再次运行 Test-ComputerSecureChannel 以确保它返回 True (

The Secure channel between the local computer and the domain a-d.site is in good condition

)。

因此,计算机密码已重置,无需重新启动或手动重新加入域。现在您可以使用域帐户登录计算机。

另外,要强制重置密码,您可以使用 Reset-ComputerMachinePassword cmdlet。

Reset-ComputerMachinePassword -Server mun-dc01.a-d.site -Credential a-d\adm_user1
mun-dc01.a-d.site

是要更改计算机密码的最近 DC 的名称。

每次创建虚拟机快照或计算机还原点之前都值得重置计算机密码。您将更容易回滚到以前的计算机状态。

如果您有一个开发或测试环境,经常需要从快照恢复以前的 VM 状态,您可能需要使用 GPO 禁用这些计算机的域中的密码更改。为此,请设置位于计算机配置 -> 策略 -> Windows 设置 -> 安全设置 -> 本地策略 -> 安全选项中的域成员:禁用计算机帐户密码更改策略。您可以将策略定位到具有测试计算机的 OU 或使用 GPO WMI 筛选器。

使用 Get-ADComputer cmdlet(来自 Windows PowerShell 的 Active Directory 模块),您可以检查 AD 中上次计算机密码更改的日期:

Get-ADComputer -Identity mun-wks5431 -Properties PasswordLastSet

Test-ComputerSecureChannel 和 Reset-ComputerMachinePassword cmdlet 从 PowerShell 3.0 版本开始可用。您必须更新 Windows 7/Windows Server 2008 R2 中的 PowerShell 版本。

您还可以使用以下命令检查计算机和 DC 之间是否存在安全通道:

nltest /sc_verify:a-d.site

以下几行确认信任已成功修复:

[玩转系统] 修复工作站与 AD 域之间损坏的信任关系

Trusted DC Connection Status = 0 0x0 NERR_Success
Trust Verification Status = 0 0x0 NERR_Success

使用 Netdom 修复域信任

在 Windows 7/2008R2 和没有 PowerShell 3.0 的早期 Windows 版本中,无法使用 Test-ComputerSecureChannel 和 Reset-ComputerMachinePassword cmdlet 重置计算机密码并修复与域的信任关系。在这种情况下,请使用

netdom.exe

用于恢复与域控制器的安全通道的工具。

Netdom 包含在 Windows Server 2008 或更高版本中,可以通过 RSAT(远程服务器管理工具)安装在用户的计算机上。要修复信任关系,请使用本地管理员凭据登录(通过在登录屏幕上键入.\Administrator)并运行以下命令:

Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password

[玩转系统] 修复工作站与 AD 域之间损坏的信任关系

The machine account password for the local machine has successfully reset.
  • 服务器是任何可用域控制器的名称

  • UserD 是具有域管理员权限或对包含计算机帐户的 OU 具有委派权限的用户的名称

  • PasswordD 用户密码

Netdom resetpwd /Server:mun-dc01 /UserD:jsmith /PasswordD:Pra$$w0rd

运行该命令后,您无需重新启动计算机:只需注销并使用您的域帐户重新登录即可。

正如您所看到的,修复计算机和域之间的信任非常容易。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯