降级域控制器和域
本文介绍如何使用服务器管理器或 Windows PowerShell 删除 Active Directory 域服务 (AD DS)。
AD DS 删除工作流
注意
不支持在升级到域控制器 (DC) 后使用 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 |
若要详细了解如何使用 PowerShell 降级 DC,请参阅 Uninstall-ADDSDomainController 和 Uninstall-WindowsFeature PowerShell 参考。
使用 Uninstall-ADDSDomainController
和 Uninstall-WindowsFeature
时,这些命令只需要最小参数,因为它们每个都执行单个操作。 在确认阶段按 Enter 键会启动不可撤销的降级过程并重启设备。
注意
仅当您尚未以 Enterprise Admins 组或 Domain Admins 组的成员身份登录时,才需要 Credential 参数。 仅当想要删除所有 AD DS 管理实用工具时,才需要 IncludeManagementTools 参数。
降级
删除角色和功能
可以使用两种方法删除 AD DS 角色:
主仪表板上的“管理”菜单,使用“删除角色和功能”
选择导航窗格上的 AD DS 或所有服务器。 向下滚动到“角色和功能”部分。 右键单击角色和功能列表中的 Active Directory 域服务并选择删除角色或功能。 此接口跳过“服务器选择”页面。
Uninstall-WindowsFeature 和 Remove-WindowsFeature 将防止你删除 AD DS 角色,直到你降级域控制器。
服务器选择
服务器选择对话框使你可以从之前添加到池的服务器中选择一个(只要它可供访问)。 运行服务器管理器的本地服务器始终自动可用。
服务器角色和功能
如果服务器当前是域控制器,请清除 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
凭据
你可在“凭据”页上配置降级选项。 从以下列表提供执行降级所需的凭据:
降级其他域控制器需要 Domain Admin 凭据。 选择强制删除域控制器将降级域控制器,且不会从 Active Directory 删除域控制器对象的元数据。
警告
如果域控制器可以联系其他域控制器,则不要选择此选项,而且还没有任何合理的方法可解决这种网络问题。 强制降级会将 Active Directory 中已丢弃的元数据保留在林中的其余域控制器上。 此外,该域控制器上所有未复制的更改(如密码或新用户帐户)都将永久丢失。 已丢弃的元数据是 AD DS、Exchange、SQL 和其他软件的大部分 Microsoft 客户支持案例的根本原因。
如果强制降级域控制器,必须立即手动执行元数据清理。 有关步骤,请查看 清理服务器元数据。
降级域中的最后一个域控制器需要 Enterprise Admins 组的成员身份,因为这将删除域本身(如果是林中的最后一个域,这将删除林)。 服务器管理器将通知当前域控制器是否是域中的最后一个域控制器。 选中“域中最后一个域控制器”复选框以确认该域控制器是域中最后一个域控制器。
等效 ADDSDeployment Windows PowerShell 参数是:
-Credential <PSCredential>
-ForceRemoval <{ $true | $false }>
-LastDomainControllerInDomain <{ $true | $false }>
警告
“警告”页面向你警示删除此域控制器可能出现的后果。 若要继续,则必须选中“继续删除”。
警告
如果你之前选中了“凭据”页面上的“强制删除此域控制器”,那么警告页面将显示此域控制器托管的所有灵活单主机操作角色。 你必须在降级此服务器后立即从另一个域控制器占用这些角色。 有关占用 FSMO 角色的详细信息,请参阅 占用操作主机角色。
此页面没有等效的 ADDSDeployment Windows PowerShell 参数。
删除选项
根据之前选择“凭据”页面上的“域中的最后一个域控制器”,将出现“删除选项”页。 此页面使你可以配置其他删除选项。 选择忽略区域的最后一个 DNS 服务器、删除应用程序分区和删除 DNS 委派,以激活下一步按钮。
该选项仅在适用于此域控制器时出现。 例如,如果此服务器没有 DNS 委托,则该复选框不会显示。
选择更改以指定备用 DNS 管理凭据。 选择查看分区以查看向导在降级期间删除的其他分区。 默认情况下,仅有的其他分区是域 DNS 和林 DNS 区域。 所有其他分区都是非 Windows 分区。
等效的 ADDSDeployment cmdlet 参数是:
-IgnoreLastDnsServerForZone <{ $true | false }>
-RemoveApplicationPartitions <{ $true | false }>
-RemoveDNSDelegation <{ $true | false }>
-DNSDelegationRemovalCredential <PsCredential>
新建管理员密码
降级完成且计算机成为域成员服务器或工作组计算机后,新建管理员密码页就会要求提供内置本地计算机 Administrator 帐户的密码。
Uninstall-ADDSDomainController cmdlet 和参数遵循与服务器管理器相同的默认值(如果未指定)。
LocalAdministratorPassword 参数是特殊参数:
- 如果未指定为参数,则 cmdlet 将提示你输入并确认掩蔽的密码。 以交互方式运行 cmdlet 时,这是首选用法。
- 如果已使用值指定,那么该值必须是一个安全字符串。 以交互方式运行 cmdlet 时,这不是首选的用法。
例如,可通过使用 Read-Host cmdlet 提示用户提供安全字符串来手动提示输入密码。
Uninstall-ADDSDomainController -LocalAdministratorPassword (Read-Host -Prompt "Password:" -AsSecureString)
警告
由于前两个选项不确认密码,因此请务必谨慎小心:密码不可见。
你还可以提供安全字符串作为转换的明文变量,尽管强烈不建议这样做。 例如:
Uninstall-ADDSDomainController -LocalAdministratorPassword (ConvertTo-SecureString "Password1" -AsPlainText -Force)
警告
不建议提供或存储明文密码。 任何在脚本中运行此命令或在你背后偷看的人都知道该计算机的本地管理员密码。 知道密码后,他们可以访问其所有数据并模拟服务器本身。
确认
确认页面会显示计划的降级;该页面不会列出降级配置选项。 这是向导在降级开始前显示的最后一个页面。 “查看脚本”按钮将创建一个 Windows PowerShell 降级脚本。
选择降级以运行以下 AD DS 部署 cmdlet:
Uninstall-ADDSDomainController
将可选 Whatif 参数与 Uninstall-ADDSDomainController 和 cmdlet 一起使用以查看配置信息。 这使你可以查看 cmdlet 的参数的显式值和隐式值。
例如:
使用 ADDSDeployment Windows PowerShell 时,重新启动的提示是你取消此操作的最后机会。 若要覆盖该提示,请使用 -force 或 confirm:$false 参数。
降级
当降级页面显示时,域控制器配置将开始,且无法暂停或取消。 详细的操作在此页面上显示并将写入日志:
- %systemroot%\debug\dcpromo.log
- %systemroot%\debug\dcpromoui.log
若要自动接受重新启动提示,请将 -force 或 -confirm:$false 参数与任何 ADDSDeployment Windows PowerShell cmdlet 一起使用。 若要防止在升级结束时自动重新启动,请使用 -norebootoncompletion:$false 参数。
警告
不建议重写重新启动。 成员服务器必须重新启动才能正常工作。
以下是在所需的 -forceremoval 和 -demoteoperationmasterrole 参数最少的情况下强制降级的示例。 无需 -credential 参数,因为用户以企业管理员组成员身份登录:
以下是删除域中最后一个域控制器的示例,带有最少的必需参数 -lastdomaincontrollerindomain 和 -removeapplicationpartitions:
如果你尝试在降级服务器前删除 AD DS 角色,Windows PowerShell 会阻止你,并显示错误:
重要
你必须在降级服务器之前重新启动计算机,然后才能删除 AD-Domain-Services 角色二进制文件。
结果
“结果”页面显示升级是成功还是失败以及任何重要的管理信息。 域控制器将在 10 秒后自动重新启动。