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
答案2
可以配置脚本在计算机启动时运行或立即运行。
请检查您的 GPO 是否按配置工作(在启动时)。如果是这样,并且您希望立即执行脚本,则应将其编程为计划任务,以便在“任务创建/修改时”执行