0x01 前言

近期进行了一次数据的冷迁移,大约有50T。因为都是虚拟机,所以我直接进行热克隆到独立的存储,然后将存储整台搬到新位置后再挂载到新集群上,最后一台台地导入虚拟机。存储搬迁的工作大概花了2小时,那么带宽应该是:56.89Gbps。

因为这些虚拟机都加入了域控,而且都是正在使用的,数据完成迁移后需要统一关闭旧的之后才能启用搬迁后的。这期间正好隔了一个国庆假期,假期前后又有几天耽搁,以至于中间隔了约2周,也就是14天。

而正是中间这十几天,导致一部分虚拟机出现“此工作站和主域信任关系失败”的问题:

0x02 缘由

工作站加入域之后会生成一个Machine Account,而这个Account是有Password的,正常情况下可以通过AD的用户和计算机管理面板进行重置:

但这需要工作站处于可以接入AD域控的正常状态才行。

这个Password默认的有效期是30天,如果工作站在这30天内都没有连接到域控,也就没法更新这个Password,从而出现上面截图中的异常。

0x03 解决问题

解决方案主要有2种:

  1. 退域后重新入域
  2. 登入到异常的工作站执行powershell命令

针对第一种方案,我觉得有风险,最大的问题是我必须确保windows的SID等信息不会改变,尤其是各个域用户在对应工作站内的文件以及配置信息不丢失,因此我没有选择第一种方案。

对于第二种,我这边也有个问题:为了合规性,我通过组策略将工作站本地账户都禁用了,包括administrator账户,那我该如何登入有异常的工作站?

只能用PE解锁被锁定的administrator账户,顺便修改它的密码,还好只有三分之一的虚拟机有问题,同时值得庆幸的是,这些都是虚拟机,可以直接挂载PE的ISO,就是用esxi web console操作起来非常费神而已。

首先将PE ISO上传到数据存储,然后挂到虚拟机,注意勾选通电连接和立即连接:

其实esxi虚拟机都是有BIOS的,只是跳得太快,通过web console不容易进入而已。这时候需要调整引导设置:

然后保存,最后重启虚拟机系统或打开电源。来到Boot标签,使用+号将CD-ROM Drive顶到第一位即可。最后去到Exit标签,保存并退出:

成功引导进入PE后,使用Windows密码修改工具解锁administrator用户并修改密码即可,最后记得保存,保存后无需使用PE系统内的重启键重启:

保存后回到esxi,修改虚拟机配置,将卸载掉已经挂载的ISO:

保存后使用reset按钮直接重置虚拟机,待重新进入虚拟机系统后,使用以下形式的用户名登入系统:

主机名\administrator

然后以管理员身份运行powershell,并输入以下命令:

Reset-ComputerMachinePassword -Server "DC01" -Credential Domain01\Admin01

相关文档如下:

这里需要注意2个点:

  1. 该工作站必须能成功解析Server字段中的主机名或域名,如果不行则需要确认DNS服务器是否正确
  2. Credential后面跟的是域名和用户,而这个用户必须有Reset Computer Machine Password相关的权限,想偷懒的话可以使用域管理员或加入管理员组

成功执行后并不会有任何内容返回,稍等片刻之后注销当前用户,使用域用户登入即可。

0x04 结语

一般情况下,30天这个值是没问题的,不要一直和域控断开联系,时不时要开机联网。如果要长时间断开,建议通过组策略将特定工作站的时长适当增加:

Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options

这问题不难,就是很繁琐。