最近在使用Powershell原生DNS命令时,特别是Get-DNSServerResourceRecord,我注意到一些奇怪的东西,对我来说没有意义。
当我使用本地DNS工具、LDAP查询工具甚至ADSIedit查看我的区域时,我只看到一个表示给定主机名的DNS对象。
然而,当我对Powershell执行同样的操作时,我得到了给定主机的两个对象,一个是NETBIOS名称,另一个是FQDN,所有其他属性都是相同的,包括IP。
例如,如果我有一台名为computer 1的计算机:这就是我看到的。
PS C:\> Get-DnsServerResourceRecord -ZoneName 'mydomain.local' -RRType A -ComputerName 'DNSServer1' | Where-Object {$_.hostname -like "Computer1*"} | fl *
DistinguishedName : DC=computer1.mydomain.local,DC=mydomain.local,cn=MicrosoftDNS,DC=DomainDnsZones,DC=mydomain,DC=local
HostName : COMPUTER1.mydomain.local
RecordClass : IN
RecordData : DnsServerResourceRecordA
RecordType : A
Timestamp :
TimeToLive : 01:00:00
Type : 1
PSComputerName :
CimClass : root/Microsoft/Windows/DNS:DnsServerResourceRecord
CimInstanceProperties : {DistinguishedName, HostName, RecordClass, RecordData...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
DistinguishedName : DC=computer1,DC=mydomain.local,cn=MicrosoftDNS,DC=DomainDnsZones,dc=mydomain,dc=local
HostName : COMPUTER1
RecordClass : IN
RecordData : DnsServerResourceRecordA
RecordType : A
Timestamp :
TimeToLive : 01:00:00
Type : 1
PSComputerName :
CimClass : root/Microsoft/Windows/DNS:DnsServerResourceRecord
CimInstanceProperties : {DistinguishedName, HostName, RecordClass, RecordData...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
我很困惑为什么Powershell会显示这个,以及它实际上是从哪里拉出来的。我无法使用本地LDAP工具找到这些FQDN对象,甚至ADFind。
这是Powershell DNS cmdlet的一些奇怪的工件/错误吗?或者DNS记录为给定主机存储了两个条目,但使用本地工具只显示一个?
这两个对我来说都没有意义,因为我不希望cmdlet只是动态地构造DN值,并且这不会发生在所有主机记录上。后者似乎不可能,因为这不会发生在区域中的所有记录上。我没有fqdn的记录比有fqdn的记录多大约100个(10926对10824)。
EDIT如果有帮助的话,下面是针对同一对象(和通配符)的ADFind查询。
C:\temp>adfind -h dnsserver1 -domaindns -f "(&(name=computer1*))" name
AdFind V01.57.00cpp Joe Richards (support@joeware.net) November 2021
Using server: dnsserver1.mydomain.local:389
Directory: Windows Server 2016
Base DN: DC=DomainDnsZones,DC=ad,DC=ewsad,DC=net
dn:DC=computer1,DC=mydomain.local,CN=MicrosoftDNS,DC=DomainDnsZones,DC=mydomain,DC=local
>name: computer1
1 Objects returned
1条答案
按热度按时间91zkwejq1#
我可以证实这种行为。
在powershell中,对于许多计算机(可能是所有计算机,我没有检查),这会返回2个结果。
但一次查询只会产生一条记录。
您只能确认其中一个是真实的的AD对象。
因此,我必须得出结论,到目前为止,证据确实表明
Get-DnsServerResourceRecord
也添加了一个具有FQDN的重复记录,希望有人能找到或知道为什么它以这种方式实现。