降级域控制器和域

适用范围:Windows Server 2022、Windows Server 2019、Windows Server

本文介绍如何使用服务器管理器或 Windows PowerShell 删除 AD DS。

AD DS 删除工作流

AD DS removal workflow chart

注意

不支持在升级到域控制器后使用 Dism.exe 或 Windows PowerShell DISM 模块删除 AD DS 角色,并且将阻止服务器正常启动。

和服务器管理器或 Windows PowerShell 的 ADDSDeployment 模块不同,DISM 是本机服务系统,它没有继承关于 AD DS 或其配置的知识。 不要使用 Dism.exe 或 Windows PowerShell DISM 模块卸载 AD DS 角色,除非服务器不再是域控制器。

使用 PowerShell 进行降级和角色删除

ADDSDeployment 和 ServerManager Cmdlet 参数(粗体参数是必需的。斜体参数可以通过 Windows PowerShell 或 AD DS 配置向导进行指定。)
Uninstall-ADDSDomainController -SkipPreChecks

-LocalAdministratorPassword

-Confirm

-Credential

-DemoteOperationMasterRole

-DNSDelegationRemovalCredential

-Force

-ForceRemoval

-IgnoreLastDCInDomainMismatch

-IgnoreLastDNSServerForZone

-LastDomainControllerInDomain

-Norebootoncompletion

-RemoveApplicationPartitions

-RemoveDNSDelegation

-RetainDCMetadata

Uninstall-WindowsFeature/Remove-WindowsFeature -Name

-IncludeManagementTools

-Restart

-Remove

-Force

-ComputerName

-Credential

-LogPath

-Vhd

注意

仅在你尚未作为 Enterprise Admins 组(降级域中的最后一个 DC)或 Domain Admins 组(降级副本 DC)的成员登录时,才需要 -credential 参数。仅在你希望删除所有 AD DS 管理实用程序时,才需要 -includemanagementtools 参数。

降级

删除角色和功能

服务器管理器提供两个接口以删除 Active Directory 域服务角色:

  • 主仪表板上的“管理”菜单,使用“删除角色和功能”

    Server Manager - Remove Roles and Features

  • 选择导航窗格上的“AD DS”或“所有服务器”。 向下滚动到“角色和功能”部分。 右键单击“角色和功能”列表中的“Active Directory 域服务”并选择“删除角色或功能”。 此接口跳过“服务器选择”页面。

    Server Manager - All Servers- Remove Roles and Features

ServerManager cmdlets Uninstall-WindowsFeature 和 Remove-WindowsFeature 将防止你删除 AD DS 角色,直到你降级域控制器。

服务器选择

Remove Roles and Features Wizard select destination server

“服务器选择”对话框使你可以从之前添加到池的服务器中选择一个(只要它可供访问)。 运行服务器管理器的本地服务器始终自动可用。

服务器角色和功能

Remove Roles and Features Wizard - Select roles to remove

如果服务器当前是域控制器,请清除“Active Directory 域服务”复选框以将域控制器降级,此操作不删除 AD DS 角色,而是切换到提供降级功能的“验证结果”对话框。 否则,它将和任何其他角色功能一样删除二进制文件。

  • 如果你希望立即再次升级域控制器,请不要删除任何其他与 AD DS 相关的角色或功能(例如 DNS、GPMC 或 RSAT 工具)。 删除其他角色和功能将增加重新升级的时间,因为当你重新安装角色时,服务器管理器会重新安装这些功能。

  • 如果你希望永久降级域控制器,根据你自己的判断删除不需要的 AD DS 角色和功能。 这需要清除这些角色和功能对应的复选框。

    AD DS 相关的角色和功能的完整列表包括:

    • 用于 Windows PowerShell 功能的 Active Directory 模块
    • AD DS 和 AD LDS 工具功能
    • Active Directory 管理中心功能
    • AD DS 管理单元和命令行工具功能
    • DNS 服务器
    • 组策略管理控制台

等效的 ADDSDeployment 和 ServerManager Windows PowerShell cmdlet 如下:

Uninstall-addsdomaincontroller
Uninstall-windowsfeature

Remove Roles and Features Wizard - Confirmation dialog

Remove Roles and Features Wizard - Validation

凭据

Active Directory Domain Services Configuration Wizard - Credentials selection

你可在“凭据”页上配置降级选项。 从以下列表提供执行降级所需的凭据:

  • 降级其他域控制器需要 Domain Admin 凭据。 选择“强制删除域控制器”将降级域控制器,且不会从 Active Directory 删除域控制器对象的元数据。

    警告

    如果域控制器可以联系其他域控制器,则不要选择此选项,而且还没有任何合理的方法可解决这种网络问题。 强制降级会将 Active Directory 中已丢弃的元数据保留在林中的其余域控制器上。 此外,该域控制器上所有未复制的更改(如密码或新用户帐户)都将永久丢失。 已丢弃的元数据是 AD DS、Exchange、SQL 和其他软件的大部分 Microsoft 客户支持案例的根本原因。

    如果强制降级域控制器,必须立即手动执行元数据清理。 有关步骤,请查看 清理服务器元数据

    Active Directory Domain Services Configuration Wizard - Credentials Force removal

  • 降级域中的最后一个域控制器需要 Enterprise Admins 组的成员身份,因为这将删除域本身(如果是林中的最后一个域,这将删除林)。 服务器管理器将通知当前域控制器是否是域中的最后一个域控制器。 选中“域中最后一个域控制器”复选框以确认该域控制器是域中最后一个域控制器。

等效 ADDSDeployment Windows PowerShell 参数是:

-credential <pscredential>
-forceremoval <{ $true | false }>
-lastdomaincontrollerindomain <{ $true | false }>

警告

Active Directory Domain Services Configuration Wizard - Credentials FSMO Roles Impact

“警告”页面向你警示删除此域控制器可能出现的后果。 若要继续,则必须选中“继续删除”

警告

如果你之前选中了“凭据”页面上的“强制删除此域控制器”,那么警告页面将显示此域控制器托管的所有灵活单主机操作角色。 你必须在降级此服务器后立即从另一个域控制器占用这些角色。 有关占用 FSMO 角色的详细信息,请参阅 占用操作主机角色

此页面没有等效的 ADDSDeployment Windows PowerShell 参数。

删除选项

Active Directory Domain Services Configuration Wizard - Credentials Remove DNS and Application partitions

根据之前选择“凭据”页面上的“域中的最后一个域控制器”,将出现“删除选项”页。 此页面使你可以配置其他删除选项。 选择“忽略区域的最后一个 DNS 服务器”、“删除应用程序分区”和“删除 DNS 委派”,以激活“下一步”按钮。

该选项仅在适用于此域控制器时出现。 例如,如果此服务器没有 DNS 委托,则该复选框不会显示。

选择“更改”以指定备用 DNS 管理凭据。 选择“查看分区”以查看向导在降级期间删除的其他分区。 默认情况下,仅有的其他分区是域 DNS 和林 DNS 区域。 所有其他分区都是非 Windows 分区。

等效的 ADDSDeployment cmdlet 参数是:

-ignorelastdnsserverforzone <{ $true | false }>
-removeapplicationpartitions <{ $true | false }>
-removednsdelegation <{ $true | false }>
-dnsdelegationremovalcredential <pscredential>

新建管理员密码

Active Directory Domain Services Configuration Wizard - Credentials New Administrator Password

降级完成且计算机成为域成员服务器或工作组计算机后,“新建管理员密码”页就会要求提供内置本地计算机 Administrator 帐户的密码。

Uninstall-ADDSDomainController cmdlet 和参数遵循与服务器管理器相同的默认值(如果未指定)。

LocalAdministratorPassword 参数是特殊参数:

  • 如果未指定为参数,则 cmdlet 将提示你输入并确认掩蔽的密码。 以交互方式运行 cmdlet 时,这是首选用法。
  • 如果已使用值指定,那么该值必须是一个安全字符串。 以交互方式运行 cmdlet 时,这不是首选的用法。

例如,可通过使用 Read-Host cmdlet 提示用户提供安全字符串来手动提示输入密码。

-localadministratorpassword (read-host -prompt "Password:" -assecurestring)

警告

由于前两个选项不确认密码,因此请务必谨慎小心:密码不可见。

你还可以提供安全字符串作为转换的明文变量,尽管强烈不建议这样做。 例如:

-localadministratorpassword (convertto-securestring "Password1" -asplaintext -force)

警告

不建议提供或存储明文密码。 任何在脚本中运行此命令或在你背后偷看的人都知道该计算机的本地管理员密码。 知道密码后,他们可以访问其所有数据并模拟服务器本身。

确认

Active Directory Domain Services Configuration Wizard - Review Options

“确认”页面会显示计划的降级;该页面不会列出降级配置选项。 这是向导在降级开始前显示的最后一个页面。 “查看脚本”按钮将创建一个 Windows PowerShell 降级脚本。

选择“降级”以运行以下 AD DS 部署 cmdlet:

Uninstall-ADDSDomainController

将可选 Whatif 参数与 Uninstall-ADDSDomainController 和 cmdlet 一起使用以查看配置信息。 这使你可以查看 cmdlet 的参数的显式值和隐式值。

例如:

Screenshot of a terminal window that shows the explicit and implicit values of a cmdlet's arguments.

使用 ADDSDeployment Windows PowerShell 时,重新启动的提示是你取消此操作的最后机会。 若要覆盖该提示,请使用 -forceconfirm:$false 参数。

降级

Active Directory Domain Services Configuration Wizard - Demotion in progress

当“降级”页面显示时,域控制器配置将开始,且无法暂停或取消。 详细的操作在此页面上显示并将写入日志:

  • %systemroot%\debug\dcpromo.log
  • %systemroot%\debug\dcpromoui.log

由于 Uninstall-ADDSDomainController 和 Uninstall-WindowsFeature 仅各有一个操作,因此在“确认”阶段它们在此处显示时带有最少的必需参数。 按 ENTER 将启动不可撤销的降级过程,并重新启动计算机。

PowerShell Uninstall-ADDSDomainController Example

PowerShell Uninstall-WindowsFeature Example

若要自动接受重新启动提示,请将 -force-confirm:$false 参数与任何 ADDSDeployment Windows PowerShell cmdlet 一起使用。 若要防止在升级结束时自动重新启动,请使用 -norebootoncompletion:$false 参数。

警告

不建议重写重新启动。 成员服务器必须重新启动才能正常工作。

PowerShell Uninstall-ADDSDomainController Force Example

以下是在所需的 -forceremoval 和 -demoteoperationmasterrole 参数最少的情况下强制降级的示例。 无需 -credential 参数,因为用户以企业管理员组成员身份登录:

Screenshot of a terminal window that shows an example of forcibly demoting with its minimal required arguments of -forceremoval and -demoteoperationmasterrole.

以下是删除域中最后一个域控制器的示例,带有最少的必需参数 -lastdomaincontrollerindomain 和 -removeapplicationpartitions:

PowerShell Uninstall-ADDSDomainController -LastDomainControllerInDomain Example

如果你尝试在降级服务器前删除 AD DS 角色,Windows PowerShell 会阻止你,并显示错误:

An uninstallation prerequisite step failed during the removal of AD-Domain-Services, and uninstallation cannot continue. 1. The domain controller needs to be demoted before the Active DirectoryDomain Services Role can be uninstalled.

重要

你必须在降级服务器之前重新启动计算机,然后才能删除 AD-Domain-Services 角色二进制文件。

结果

You're About to be signed off warning after removal of AD DS

“结果”页面显示升级是成功还是失败以及任何重要的管理信息。 域控制器将在 10 秒后自动重新启动。