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

PowerShell脚本求助:域名解析结果关联及错误屏蔽方法

解决PowerShell域名解析脚本的两个需求

一、关联域名与对应IP输出

要把域名和解析出的IP绑定输出,可通过创建自定义结构化对象实现,同时捕获解析错误避免干扰。修改后的脚本如下:

$filePath = "C:\Users\G661600\Downloads\sublist.txt"
Get-Content $filePath | ForEach-Object {
    $domain = $_
    try {
        # 解析域名并提取IP字符串
        $ips = [System.Net.Dns]::GetHostAddresses($domain) | Select-Object -ExpandProperty IPAddressToString
        # 每个域名可能对应多个IP,逐个生成关联记录
        foreach ($ip in $ips) {
            [PSCustomObject]@{
                域名 = $domain
                IP地址 = $ip
            }
        }
    }
    catch {
        # 可选:将解析失败的域名及错误信息记录到日志
        # "$domain 解析失败:$($_.Exception.Message)" | Out-File "解析错误日志.txt" -Append
    }
} | Export-Csv -Path "域名解析结果.csv" -Encoding UTF8 -NoTypeInformation

核心说明:

  • 用[PSCustomObject]生成包含域名和IP地址的结构化输出,方便后续查看或导出
  • 遍历每个域名解析出的所有IP,确保一对多的关联关系不丢失
  • 通过Select-Object -ExpandProperty直接提取IP字符串,避免输出冗余属性

二、屏蔽错误信息,仅保留有效解析结果

上述脚本通过try-catch块捕获解析失败的错误,默认不会将错误信息输出到控制台或结果文件。如果需要单独记录错误,只需取消catch块内的注释,就能把错误信息写入指定日志文件,实现有效结果和错误日志的分离。

若仅需静默屏蔽错误,也可在调用GetHostAddresses时添加-ErrorAction SilentlyContinue,但try-catch的方式更灵活,支持自定义错误处理逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 18:40:08