通过PowerShel审核DC之DNS设置
2019-12-16威海职业学院赵永华
威海职业学院 赵永华
DNS 是活动目录AD(Active Directory)中重要的子系统,它集中了AD各项功能,具体而言,在对客户端计算机进行身份验证以及将GPO 设置应用于用户和计算机时都需要DNS。
而且尤其重要的是,在域控制器DC(Domain Controllers)中有关网卡的TCP/IP 属性配置,必须确保DNS 设置有效无误。
假设当前AD 域中有四个域控制器,并且所有DC 都在运行DNS 服务器角色,则必须将DNS TCP/IP 属性上的设置配置为使用每个其他域控制器的DNS 服务器IP,从而避免发生失败。
这些相互连接的DC 以交换安全令牌方式能够进行更改复制。在复制更改之前,DC 通过将查询发送到本地DNS 服务器来找到其复制伙伴。当然,DC 许多其他功能也会用到DNS。
在本文中提供了一个PowerShell 脚本,可用于检查DC 的TCP/IP 属性中配置了多少DNS 服务器。该脚本乃引玉之砖,感兴趣的管理员可以进一步改写,使之能够确认DC 使用DNS 服务器IP 地址是否正确。
该脚本内容主要包括:
1.收集文本文件C:TempDCServers.TXT 中所列的所有DC。
2.收集有关调用了类Win32_NetworkAdapter Configuration 的DC 的网卡信息。
脚本会检查DC 是否配置为至少有两个DNS Servers,若发现某个DC 仅有一个IP地址,则会将该DC 名称和DNS Server IP 配置写进报告文件。当脚本执行时会生成一个CSV 格式的文件,不妨命名为DCDNSReport,其存放位置为C:TempDCDNSReport.CSV,此时要求我们提前在一个文本文件中逐行提供DC名称(C:TempDCServers.TXT),脚本代码如下:
图1 检测形成的报告文件
PowerShell 脚本执行后,形成的报告文件C:Temp DNSDCReport.CSV 包含诸如域控制器名称、网络适配器描述、IP 地址、子网、默认网关、DNS 服务器、最终状态列指示DNS TCP/IP 配置问题,如图1 所示。