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

PowerShell使用Get-DnsServerResourceRecord过滤后返回空列表如何解决?

问题原因与解决方法

核心错误原因

问题根源是Get-DnsServerResourceRecord返回的RecordData不是普通字符串,而是对应不同记录类型的结构化对象,直接对该属性做字符串匹配不会生效。
对于TXT类型的DNS记录,实际的文本内容存储在RecordData对象下的DescriptiveText属性(部分Windows Server版本属性名为Txt)中,需要访问该子属性才能正常执行匹配。

额外注意点

  • 简化版Where-Object语法对嵌套属性的支持不稳定,推荐使用脚本块写法更稳妥
  • 通配符匹配的模式字符串建议用引号包裹,避免PowerShell将其解析为其他通配符表达式

正确过滤命令示例

Get-DnsServerResourceRecord -ZoneName "xxxxx.it" -Name "@" -RRType "txt" |
  Where-Object { $_.RecordData.DescriptiveText -Like "v*" }

适配验证方法

如果上述命令依然不生效,可以先执行下面的命令查看当前环境中TXT记录内容对应的属性名,再替换命令中的对应属性即可:

# 输出第一条查询到的TXT记录的RecordData完整结构
Get-DnsServerResourceRecord -ZoneName "xxxx.it" -Name "@" -RRType "txt" | Select-Object -First 1 -ExpandProperty RecordData

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:18:05