PowerShell批量修改DNS域名解析

批量添加DNS A记录

bash 复制代码
$dnsServerName=""  # DNS服务器的服务器名称,如果是在DNS服务器本机执行则可留空
$containerName="test.com" # 域名的后缀也就是DNS Zone Name
$mydns=[WMIClass]"ROOT\MicrosoftDNS:MicrosoftDNS_resourceRecord" # 获取WMI的DNS函数
# 执行读取配置添加DNS记录命令
Get-Content C:\dnsListFile.txt | Foreach-Object {$mydns.CreateInstanceFromTextRepresentation($dnsServerName, $containerName, $_)}
  • DNS解析记录文件内容格式 域名(主机名):将要设置的域名
  • IN:默认
  • 记录格式:A 主机名转IP地址;AAA:主机名转IPV6地址;CHAME:别名记录 IP:域名要对应的 IP


检查是否添加成功

修改DNS A记录IP地址

修改单条A记录IP地址

  • $ZoneName:要修改的DNS区域名称
  • $HostName:要修改的域名
  • $NewRecord.RecordData.IPv4Address:修改后的IP地址
bash 复制代码
$ZoneName = 'test.com'; $HostName = 'dns01'; $As = Get-DnsServerResourceRecord -ZoneName $ZoneName | ? {$_.HostName -eq $HostName} |sort RecordData; $NewRecord = $As.Clone(); $NewRecord.RecordData.IPv4Address ='192.168.1.168'; Set-DnsServerResourceRecord -ZoneName $ZoneName -OldInputObject $As -NewInputObject $NewRecord

修改多条A记录IP地址

1.导出指定zone中所有记录

  • -ComputerName:DNS服务器名称
  • -ZoneName:要修改的zone名称
  • export-csv:导出文件存放路径及文件名称
bash 复制代码
Get-DnsServerResourceRecord -ComputerName TEST-DC-02 -ZoneName test.com | Where-Object {$_.RecordType -eq "A" } | Select-Object HostName, RecordType, @{Name="RecordData"; Expression={$_.RecordData.IPv4Address[0]}} | export-csv C:\test_com_zone_list.csv

2.修改导出文件

  • 添加新列 newip 记录修改后的IP地址
  • 具体内容格式如下

3.导入要更新的域名列表执行更新

  • -ZoneName:替换为要域名所在的ZoneName
  • Import-Csv:替换为你的域名列表文件路径
bash 复制代码
Import-Csv C:\test_com_zone_list.csv | foreach {
$old = Get-DnsServerResourceRecord -ZoneName test.com -Name $_.hostname
$new = $old.Clone()
$new.RecordData.IPv4Address = [System.Net.IPAddress]::parse($_.newip)
Set-DnsServerResourceRecord -NewInputObject $new -OldInputObject $old -ZoneName test.com
}

4.查看是否更新成功

相关推荐
dshudsnb2 小时前
[ 2026最新 ] 在 Windows 11 上恢复已删除文件的 10 大方法
windows
xiaoshuaishuai84 小时前
C# 实现百度搜索算法逆向
开发语言·windows·c#·dubbo
ycjunhua5 小时前
windows 安装PostgreSQL 数据库
数据库·windows·postgresql
一个人旅程~6 小时前
Linux Mint(Ubuntu)如何在没有网卡驱动情况下利用手机上网安装旧电脑网卡驱动程序指导书
linux·windows·经验分享·电脑
格林威7 小时前
AI视觉检测:模型量化后漏检率上升怎么办?
人工智能·windows·深度学习·数码相机·计算机视觉·视觉检测·工业相机
无限进步_7 小时前
【C++】寻找字符串中第一个只出现一次的字符
开发语言·c++·ide·windows·git·github·visual studio
Ops菜鸟(Xu JieHao)8 小时前
Linux 内网远程桌面Xrdp ~保姆级教程
linux·运维·服务器·windows·远程桌面·远程·xrdp
永不复还9 小时前
Windows 驱动开发(四)—— IRP Pending
windows·驱动开发
海寻山10 小时前
Java 泛型 (Generic) 入门到精通:语法 + 原理 + 实战 + 避坑
java·windows·python
idolao10 小时前
PixPin 1.5安装与配置教程 Windows版:解压+管理员运行+自定义路径+开机自启设置指南
windows