You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过Windows PowerShell修改DNS A记录的方法及命令错误排查

如何通过Windows PowerShell修改现有DNS A记录

问题与报错

尝试用以下命令修改DNS A记录时出现参数错误:

Set-DnsServerResourceRecord -ZoneName "xxyzz.com" -Name "Testrecord" -A -IPv4Address "175.18.13.23"

报错内容:

Set-DnsServerResourceRecord : 找不到匹配参数名称“Name”的参数。
At line:1 char:56 + Set-DnsServerResourceRecord -ZoneName "xxyzz.com" -Name "Testrec ...+ ~~~~~+ CategoryInfo : InvalidArgument: (:) [Set-DnsServerResourceRecord], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Set-DnsServerResourceRecord

正确脚本示例

以下是可正常执行的PowerShell命令,用于修改DNS A记录:

### 变量配置 ###
$DNSName = "Testrecord"       # 要修改的记录名称
$DNSZoneName = "YourDomain.com"  # 域名区域
$IPAddress = "175.18.13.23"   # 新的IPv4地址
### 变量配置结束 ###

# 获取原有的DNS A记录对象
$oldobj = Get-DnsServerResourceRecord -Name $DNSName -ZoneName $DNSZoneName -RRType "A"
# 复制一份记录对象用于修改
$newobj = Get-DnsServerResourceRecord -Name $DNSName -ZoneName $DNSZoneName -RRType "A"
# 更新新对象的IP地址
$newobj.RecordData.IPv4Address = [System.Net.IPAddress]::Parse($IPAddress)
# 提交记录修改
Set-DnsServerResourceRecord -NewInputObject $newobj -OldInputObject $oldobj -ZoneName $DNSZoneName -PassThru

关键说明

Set-DnsServerResourceRecord不支持直接通过-Name或-A参数修改记录,必须通过「获取原记录→复制修改→提交更新」的流程操作:

  • 先通过Get-DnsServerResourceRecord获取目标记录的新旧对象
  • 修改新对象的IP属性后,用新旧对象作为参数提交,让DNS服务器定位并更新目标记录

内容的提问来源于stack exchange,提问作者Geek Favour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:12:23