一个简单的修改DNS配置的脚本

Posted 史振宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的修改DNS配置的脚本相关的知识,希望对你有一定的参考价值。

场景

公司主机房迁移,域控也在其中,其他机房有部分服务器DNS指向了该机房域控。
新机房部署了新的域控,如何将存量指向老机房域控的服务器DNS配置更新为新的域控呢?

脚本内容

#Script_Name: Update_DNS_Server.ps1

$new_dns_servers = "172.18.7.54","172.18.7.55"
$old_dns_lists = "172.18.7.53","172.18.7.80"
$ip = Get-NetIPConfiguration
$ifip = $ip.IPv4Address.IPAddress

#服务器多网卡防止全改
if ($ifip.Split(".")[-2] -eq "7")  

    $ifindex = $ip.InterfaceIndex
    $current_dns_servers = $ip.DNSServer.ServerAddresses

    foreach ($i in $current_dns_servers) 
        if ($i -in $old_dns_lists)  
            Set-DnsClientServerAddress -InterfaceIndex  $ifindex  -ServerAddresses  ($new_dns_servers)
        

    

批量执行

1.可以使用invoke-command 命令,比如

Invoke-Command -FilePath c:\\scripts\\Update_DNS_Server.ps1 -ComputerName Server01,Server02,Server03

机器过多的话,可以维护一个文件,写一个脚本循环执行invoke-command。

2.通过saltstack 批量执行。

salt * cmd.script salt://scripts/Update_DNS_Server.ps1 shell=powershell

以上是关于一个简单的修改DNS配置的脚本的主要内容,如果未能解决你的问题,请参考以下文章

DNS正向解析脚本以及分析

DNS正向解析脚本以及分析

linux (二十五)编写自动化脚本安装DNS单机服务主从服务和卸载服务,以及网卡配置

怎么设置IIS的缓存量

Shell脚本一键刷入简单DHCP以及DNS服务(感兴趣的可进来看看)

配置dns服务器