【问题标题】:WMI Query DNS CNAME in subdomainsWMI 查询子域中的 DNS CNAME
【发布时间】:2015-11-13 02:41:36
【问题描述】:

我正在尝试使用 WMI 查询在 C# 中编写以下 PowerShell 脚本。

    Get-DnsServerZone -ComputerName [DNS Server] | ? {$_.zonename} | Get-DnsServerResourceRecord -ComputerName [DNS Server] -RRType CNAME | ? {$_.Hostname -like "$DNSCname*"} | Format-Table

这个 sn-p 将查询 DNS 并返回所有区域并将结果通过管道传输到 Get-DnsServerResourceRecord,然后它将返回别名(及其变体)存在于其中的所有记录。

例如: $DNSCname='ABCXYZ'

结果是:

ABCXYZ.domain1.com
ABCXYZ123.subdomain.domain1.com
ABCXYZ456.subdomain.domain2.com

很遗憾,以下 WMI 查询对我不起作用。

    "SELECT * FROM MicrosoftDNS_ResourceRecord WHERE OwnerName LIKE '%ABCXYZ%'"

有没有办法编写 WMI 查询来返回与 PowerShell 脚本相同的结果?

【问题讨论】:

    标签: c# powershell dns wmi


    【解决方案1】:

    我 99% 确定此提供程序不支持以这种方式过滤(但我找不到参考)。您必须获取所有这些并在您的代码中过滤它们,顺便说一下,这正是 PowerShell 代码中发生的事情(您让 cmdlet,它本身是 WMI 对象的一个​​薄包装器,返回所有结果和然后使用?/Where-Object进行过滤。

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 2020-02-04
      • 2023-04-01
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多