gpt4 book ai didi

powershell - 如何使用 Powershell 从 DnsServerResourceRecord 获取真实的 RecordData?

转载 作者:行者123 更新时间:2023-12-02 08:22:57 25 4
gpt4 key购买 nike

我正在使用 PowerShell 从 Active Directory DNS 服务器中提取信息,但无法获取所需的数据。

具体来说,我试图获取属于特定子网的主机名称,10.104.128.x .

当我使用以下命令时:

Get-DnsServerResourceRecord -ComputerName AD_DNS_SERVER -ZoneName 104.10.in-addr.arpa -RRType Ptr | Where-Object {$_.HostName -like '*.128'}`

我得到如下所示的输出:

主机名 RecordType 时间戳 TimeToLive RecordData
-------- ---------- --------- ---------- ----------
104.128 PTR 10/19/2015 3:00:0... 00:15:00 adl5c260a86ba79.XYZ.net。
11.128 PTR 12/29/2015 6:00:0... 00:15:00 adl3c970e8d7166.XYZ.net。
110.128 PTR 1/29/2012 11:00:0... 00:15:00 nroxitow7tst.ABC.com。
114.128 PTR 1/20/2012 7:00:00 AM 00:15:00 adl5c260a86c29e.ABC.com

我真正想要的是第一列( HostName ),其中包含 IP 的最后两个八位字节;第五列 ( RecordData ),其中包含分配 IP 的主机的名称。

主机名是我真正想要/需要的数据。我看到它就在那里!

所以我使用了 select命令来减少管道系统中的输出。新命令如下所示:

Get-DnsServerResourceRecord -ComputerName AD_DNS_SERVER -ZoneName 104.10.in-addr.arpa -RRType Ptr | Where-Object {$_.HostName -like '*.128'} |选择主机名,记录数据

但输出看起来像这样:

主机名记录数据
————————————
104.128 DnsServerResourceRecordPtr
11.128 DnsServerResourceRecordPtr
110.128 DnsServerResourceRecordPtr
114.128 DnsServerResourceRecordPtr

虽然没有给我主机名。只是对象的类型RecordData是但不是对象包含的数据,也许?

我还尝试将输出通过管道传输到 CSV 并得到相同的结果。

然后我试着看 DnsServerResourceRecord具有 Get-Member 的对象属性.这向我展示了该对象有一个名为 PSComputerName 的属性。 .我想也许这会有主机的名字,但当我尝试 select 时却是空白的。它。

然后我在谷歌上搜索了一下,找到了几页推荐了几种使用 RecordData.ipv4address 将数据从 DnsServerResourceRecordPtr 中引出的方法。对象,但我还没有让他们中的任何一个工作。输出仍然打印空白。

所以我的问题是:是否存在从 PTR 记录中获取实际主机名的可靠方法?

最佳答案

选择 PtrDomainName属性(property)来自 DnsServerResourceRecordPtr对象,使用计算属性:

... |Select-Object HostName, @{Name='RecordData';Expression={$_.RecordData.PtrDomainName}}

关于powershell - 如何使用 Powershell 从 DnsServerResourceRecord 获取真实的 RecordData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35097158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com