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

PowerShell通过Import-Csv批量写入DNS记录失败如何解决

问题解决方法

原有脚本错误原因

  • 变量引用错误:原有脚本将$Name、$Data赋值为固定字符串"Name"、"Data",没有读取CSV每行对应的实际主机名、IP值
  • 参数缺失/错误:Add-DnsServerResourceRecord创建A记录必须指定-A参数标识记录类型,ZoneName参数需要填写你实际配置好的DNS主区域名称,不是CSV的列名
  • 语法错误:第二段脚本循环未闭合,参数名拼写错误,还误将整个CSV数组传给了IP参数

可直接运行的正确脚本

先将脚本中的your-domain.com替换为你实际的DNS主区域名称,CSV文件路径替换为你本地的实际路径,首次运行默认开启-WhatIf测试,确认输出符合预期后删除该参数即可实际创建记录:

# 导入CSV记录
$dnsRecords = Import-Csv -Path "C:\records\powershelltest\fqdns.domain.com.csv"
# 替换为你实际的DNS主区域名
$zoneName = "your-domain.com"

foreach ($record in $dnsRecords) {
    # 去除CSV值两侧的多余空格避免异常
    $hostName = $record.Name.Trim()
    $ipAddr = $record.Data.Trim()

    Add-DnsServerResourceRecord -A `
        -ZoneName $zoneName `
        -Name $hostName `
        -IPv4Address $ipAddr `
        -PassThru `
        -WhatIf
}

补充注意事项

  • 如果CSV的Name字段已经是完整FQDN(例如another-host.your-domain.com),可以将-Name参数的值替换为$hostName.Replace(".$zoneName",""),避免重复拼接区域后缀
  • 运行脚本需要持有DNS服务器的管理权限,建议先拿1-2条测试记录验证逻辑无误后再全量执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:12:03