如何重置Active Directory域管理密码
在本文中,我们将查看Active Directory域管理员密码重置方案。在域管理员特权因遗忘或因退休管理员而故意破坏,黑客攻击等故意破坏而丢失的情况下,您可能需要它,以成功地重置域管理员密码,您必须对AD域控制器控制器(ILO,IDRAC,IDRAC或VMWare vMware vmware vmware vmware vmware vmware vsphere vsphere/hyper-ver-ver-ver-ver-ver conte a prox prox conter)均具有物理或远程访问。
在此示例中,我们将在运行Windows Server 2019的域控制器上重置管理员密码。如果网络上有一个以上的域控制器,则可以在其中任何一个上重置域管理密码。
内容:
为了重置域管理员密码,您必须使用DSRM管理员密码访问目录服务还原模式(DSRM)(设置Windows Server升级为域控制器时设置)。实际上,它是存储在域控制器上本地SAM数据库中的本地管理员帐户。如果您不知道DSRM密码,请使用方法1或2。
如果您不知道DSRM密码,如何重置丢失的域管理员密码?
从任何Windows安装媒体启动服务器(这可以是Windows安装USB Stick或ISO映像):
- 按
Shift+F10在Windows设置屏幕上打开命令提示符; - 现在,您需要知道分配给Windows Server已安装的分区的字母。运行命令:
wmic logicaldisk get volumename,name
在我的示例中,您可以看到我的离线Windows Server映像已打开C:。这是我们将在以下命令中使用的驱动字母。
您还可以使用DiskPart识别Windows中的光盘:diskpart- >list disk- >list vol

- 备份原始UTILMAN.EXE文件:
copy C:windowssystem32utilman.exe C:windowssystem32utilman.exebak - 然后用cmd.exe替换utilman.exe文件:
copy c:windowssystem32cmd.exe c:windowssystem32utilman.exe /y


- 提取引导图像(USB/ISO)并重新启动您的主机:
wpeutil reboot - 启动域控制器后,单击登录屏幕上的“轻松访问”按钮。这将打开命令提示;
- 运行
whoami命令以确保命令提示为NT AuthoritySystem;

- 列出有关管理员帐户的信息:
net user administrator

- 在此示例中,您可以看到此用户是域管理组的成员,现在被禁用:
Account active: No
- 启用域管理员帐户:
net user administrator /active:yes - 您现在可以重置域管理员密码:
net user administrator *
设置新的管理员密码(新密码必须匹配域密码策略);

- 再次从安装媒体启动服务器并替换useilman.exe使用原始文件(避免在服务器中留下安全孔):
copy c:windowssystem32utilman.exebak c:windowssystem32utilman.exe /y - 在正常模式下重新启动域控制器,并确保您现在可以使用新的域管理员密码登录到DC。
在虚拟化域控制器上重置域管理密码
如果您的虚拟机控制器(ESXI,Hyper-V,Proxmox)运行的虚拟域控制器,则可以使用dsinternalsPowerShell模块重置管理员密码。
这样做:
了解更多:如何将计算机添加到Windows Server 2008 Active Directory域?
- 关闭运行AD DS角色(域控制器)的VM,然后将其虚拟驱动器(VHDX,VMDK等)连接到运行Windows的任何其他VM。为其分配一个驱动信函,例如
E:; - 从PowerShell画廊安装DSinternals模块:
Install-Module DSInternals –Force
当没有Internet连接时,可以离线安装PowerShell模块。 - 获取用于加密广告数据库中密码哈希(ntds.dit)中的启动键:
$bootkey= Get-BootKey -SystemHiveFilePath "E:WindowsSystem32configSYSTEM" - 您现在可以在广告数据库中获取有关任何用户帐户的信息:
Get-ADDBAccount -SamAccountName 'Administrator' -DBPath "E:WindowsNTDSntds.dit" -BootKey $bootkey - 如果禁用域管理员帐户,请启用并设置一个新密码:
Enable-ADDBAccount -SamAccountName 'Administrator' -DBPath "E:WindowsNTDSntds.dit"
Set-ADDBAccountPassword -SamAccountName 'administrator' -DBPath "E:WindowsNTDSntds.dit" -BootKey $bootkey


- 断开虚拟驱动器,将其重新连接到源VM,并在域控制器上进行供电;
- 之后,新域管理员密码将复制到所有DC。
从DSRM重置域管理员密码
如果您知道DSRM管理员密码,则可以通过从“高级启动选项”菜单中选择适当的选项将DC引导到DSRM中。


在登录屏幕上输入本地用户名(管理员)和密码(DSRM密码)。

在此示例中,域控制器名称为DC01。
让我们通过运行命令来检查哪个用户已登录到系统:
whoami /user
USER INFORMATION ---------------- User Name SID ================== ============================================ dc01administrator S-1-5-21-3244332244-312345677-2454632109-500
如您所见,我们被登录为本地管理员用户。
下一步是更改Active Directory管理员密码(默认情况下,该帐户也称为管理员)。为了重置域管理员的密码,我们将创建一个服务,该服务将重置系统下的管理员帐户的密码:
sc create ResetADPass binPath= "%ComSpec% /k net user administrator P1SSsw0rd21!" start= auto
笔记。请注意,在binpath变量中设置路径时,“ =”符号与其值之间需要一个空间。另外,新密码必须满足域对密码长度和复杂性的要求。
确保已创建服务:
sc qc ResetADPass
[SC] QueryServiceConfig SUCCESS SERVICE_NAME: ResetADPass TYPE : 10 WIN32_OWN_PROCESS START_TYPE : 2 AUTO_START ERROR_CONTROL : 1 NORMAL BINARY_PATH_NAME : C:Windowssystem32cmd.exe /k net user administrator P@ssw0rd1 LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : ResetADPass DEPENDENCIES : SERVICE_START_NAME : LocalSystem
在正常模式下重新启动域控制器:
shutdown -r -t 0
在启动时,我们创建的服务将域管理密码更改为P1SSSW0RD21!。使用此帐户和密码登录到DC。
whoami /user
USER INFORMATION ---------------- User Name SID ===================== ============================================ corpadministrator S-1-5-21-1737425439-23123122-1234318981-500
然后删除我们刚刚创建的Windows服务:
sc delete ResetADPass
[SC] DeleteService SUCCESS
在本文中,我们可以查看如何重置广告域管理员的密码。我们要重申确保IT基础架构的物理安全的重要性。如果授权人员以外的其他人可以本地访问您运行域控制器的物理主机,则可以轻松地重置任何用户或管理员密码。如果您需要在不信任的位置部署DC,建议您使用仅读取域控制器(RODC)功能。
