Ad域控及策略问题排查新手工具包
背景
在企业生产中,微软的活动目录Ad(Active Directory)非常普遍,往往是IT应用的基石。
如果AD规模较大,结构复杂,如包含站点、权限、父子域、信任域等设计时,很可能会出现在PoC环境或简单生产环境中不容易碰到的问题现象。这时,难免需要一些常用的工具/方法来诊断问题。
原来隐约记得一些,最近和AD维保合作伙伴看问题时,又接触了些新的,一起记录下来备忘,以后大概率还能派上用场。
1 域控制器安装/删除
1.1 AD域的大小
将一台server提升为域控是常规操作,有个小Tip是可以观察到域的全部信息的文件大小。
如果域的环境较大,这个文件大小可以帮助判断复制全部域信息需要的时间。
位置在C:\windows\NTDS文件夹下。
注意,新的域控升级完成后,文件的大小和做之前从其它域控上看的可能是有差异的。我的实际经验是新域控上看到的会小一些。
1.2 域控制器强制删除
正常情况下AD域控是可以降级的。按正常过程如果降级失败,域中会产生残留信息,也就是所谓的脏数据。
此时,可以使用Ntdsutil工具进行服务器元数据的清理,需要在林中正常存活的控制器上操作,如下。
\1. 以管理员身份打开命令提示符:在 “开始” 菜单上,右键单击 “命令提示符”,然后单击 “以 管理员身份运行”。 如果出现 “用户帐户控制” 对话框,请提供 Enterprise 管理员的凭据(如果需要),然后单击 “继续”。
\2. 在命令提示符下,键入以下命令,然后按 Enter:
ntdsutil
\3. 在 ntdsutil: 提示符下,键入以下命令,然后按 Enter:
ntdsutil: metadata cleanup
\4. 在 metadata cleanup: 提示符下,键入以下命令,然后按 Enter:
metadata cleanup: remove selected server
\5. 在 " 服务器删除配置" 对话框 中,查看信息和警告,然后单击 "是" 以删除服务器对象和元数据。
此时,Ntdsutil 确认已成功删除域控制器。 如果收到一条错误消息,指出找不到该对象,则可能已在之前删除域控制器。
\6. 在 metadata cleanup: 并 ntdsutil: 提示时,键入 quit ,然后按 enter,确认删除域控制器。
metadata cleanup: quit
ntdsutil: quit
\7. 打开“Active Directory 用户和计算机”。 在已删除的域控制器的域中,单击 " 域控制器"。 在详细信息窗格中,不应出现您删除的域控制器的对象。
\8. 打开“Active Directory 站点和服务”。 导航到 "服务器" 容器,并确认删除的域控制器的服务器对象不包含 NTDS 设置对象。 如果服务器对象下未显示子对象,则可以删除该服务器对象。 如果出现子对象,请不要删除服务器对象,因为另一个应用程序正在使用该对象。
\9. 清除元数据之后,通过命令检查域环境信息。
具体命令如下:
c:>ntdsutil
ntdsutil: metadata cleanup
metadata cleanup: select operation target
select operation target: connections
server connections: connect to server it.org
server connections: quit
select operation target: list site
select operation target: select site 0
select operation target: list domain in site
select operation target: select domain 0
select operation target: list servers for domain in site
select operation target: quit
metadata cleanup: remove selected server
出现对话框,按“确定”删除DC控制服务器。
metadata cleanup: quit
ntdsutil: quit
清除之后,可能还需要清理DNS信息。
1.3 迁移五大主机角色
通过Netdom query fsmo可查看当前五大主机角色
![](https://hqyman.cn/zb_users/upload/2024/05/20240524170521_15224.webp)
因为目前BJ-Server-AD1是辅助域控,进入命令提示,连接到辅助域控,然后退出;
![](https://hqyman.cn/zb_users/upload/2024/05/20240524170522_85371.webp)
迁移RID角色:
Transfer RID master
迁移PDC主机角色:
Transfer PDC
迁移移结构主机角色:
Transfer infrastructure master
迁移移域命名主机角色:
Transfer naming master
迁移架构主机角色:
Transfer schema master
2 域复制状态
在多个地理位置建设有域控制器时,互相之间网络链路的通断情况会影响到信息同步,排障时需要检查。
2.1 复制关系表格一览
![](https://hqyman.cn/zb_users/upload/2024/05/20240524170522_15528.webp)
使用Powershell命令
repadmin /showrepl * /csv | ConvertFrom-Csv | Out-GridView
这样一个表还是非常友好的。规模较大的话,数据加载需要等一段时间。
可以通过筛选器精准定位,从而清楚地看到所关注站点之间的出入复制任务是否成功。
2.2 其它常用命令
以下命令在林中的任意DC上执行时,理论上应该都没有明显报错。
Repadmin /replsummaryRepadmin /bridgeheadsRepadmin /showreplRepadmin /syncall /force
需要注意,在复杂环境中,不同物理位置的DC之间可能本身一直都没打通权限,且这种不通对业务未必有影响。例如,子域通常只需要和父域控制器网络通,而不是需要和其它所有子域的控制器都通。
总之,有些报错的显现,不能当作“XX故障现象是因为整个域网络有问题/状态不正常引起”的依据。需要加以辨别。
3 组策略执行状态
AD中的计算机/用户组策略下发未生效时,需要排查组策略的执行情况。
通常来说,在目标计算机上用运行命令或打开工具的方法,便可以获得进一步分析所需的参考信息。
3.1 组策略在本机的详细运行结果
gpresult /H gp.html
这个命令可以生成比较友好的阅读界面。
注意,要获得计算机策略的执行情况的前提是,用户要加入本地管理员组。如果只是user权限,就只能获得用户策略结果。
在哪个用户下运行,就会在该用户的目录下生成html文件。加参数也可以指定输出位置。
![](https://hqyman.cn/zb_users/upload/2024/05/20240524170522_27518.webp)
适合用来直观核对特定的GPO配置。
Tip:从内容的长短可以初步判断策略执行成功与否,通常来说,我们在VDI项目中会通过组策略优化很多项内容。这会使得输出结果很长。
3.2 组策略在本机的简易运行结果
可在cmd中输入
gpresult /z
,会在cmd窗口中输出文字形式的结果,只带有最简单的排版。可在cmd中输入
rsop
,可获得如下窗口化的结果。
![](https://hqyman.cn/zb_users/upload/2024/05/20240524170522_75524.webp)
如果知道策略配置的路径,用这个方法查看比较快速(就我而言,最熟悉的就是登录用户配置中的登录脚本在哪里点出来了)。
4 其它
4.1 通过注册表查看配置。
在VDI环境中,策略不一定都是通过组策略下实现的,VDI软件厂商也会有自己的方案来控制计算机的设置,有时想要分辨是何种方案在起作用。
有一个方法,是在注册表(regedit
)中搜索特定的字段,看看结果显示在哪里。比如,我是通过vmware的dem组件来把用户的目录做重定向的。那搜索重写向的目标Url,往往可从结果中获得一些提示。
4.2 事件查看器
最基本需要掌握的排错工具,显示在这里面信息指向性还是比较明确的。
以策略不生效为例。本次就观察了到这样的报错。
![](https://hqyman.cn/zb_users/upload/2024/05/20240524170522_28892.webp)
后续排查方面,可能是网络,也可能是Windows自身的安全认证策略等。
4.3 查看系统状态
cmd下使用systeminfo
命令
重点可以看看系统版本、安装补丁情况、登录服务器。
OS版本、补丁可能会和Bug、微软KB等有关联。登录服务器为什么重要呢?在某些容灾设计中,我们希望特定特性的计算机是找特定域控做登录认证。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/6336.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~