使用 GPO 更改域服务器上的主 DNS 和辅助 DNS

使用 GPO 更改域服务器上的主 DNS 和辅助 DNS

Windows Server 2016。

域内所有服务器自动获取IP地址,DNS地址手动设置:

主 DNS 172.16.0.1

辅助 DNS 172.16.0.2

我创建了第三个 DC (172.16.0.3),并移动了 FSMO 角色。

我想将所有服务器(大约 50 台)上的主 DNS 更改为新的 DC 172.16.0.3。

我使用以下脚本创建了一个批处理文件:

@echo off
set dnsserver=172.16.0.3
set dnsserver2=172.16.0.1
for /f "tokens=1,2,3*" %%i in ('netsh interface show interface') do (
 if %%i EQU Enabled (
 rem echo change "%%l" : %dnsserver%
 netsh interface ipv4 set dnsserver name="%%l" static %dnsserver% both
 netsh interface ipv4 add dnsserver name="%%l" %dnsserver2% index=2
 )
)

然后我创建了一个 GPO 并将其链接到域。

计算机配置|策略|Windows 设置|脚本|(启动\关机)|选择启动在脚本属性中,我添加了批处理文件。

在该组策略的安全过滤中,我保留了经过身份验证的用户,添加了域管理员组和一些服务器来测试它。(注意:经过身份验证的用户包括所有组和用户和计算机,因此不需要添加服务器和域管理员)。

我登录到这些服务器运行gpupdate /force但没有成功,GP 没有应用该脚本。

我需要更改所有服务器上的 DNS IP,无需重新启动或登录。

注意:脚本是正确的,我以管理员身份手动运行它,它更改了 DNS IPS。

答案1

您不需要使用脚本,您可以使用组策略本身中的设置来执行此操作。Computer Configuration > Policies > Administrative Templates > Network > DNS Client 组策略

但通常当客户端向 dhcp 服务器请求 ip 时,dns 服务器就会发送,因此也请检查那里(DHCP 选项)

答案2

可以配置脚本在计算机启动时运行或立即运行。

请检查您的 GPO 是否按配置工作(在启动时)。如果是这样,并且您希望立即执行脚本,则应将其编程为计划任务,以便在“任务创建/修改时”执行

相关内容