从powershell阵列打印(2)列
我创建此阵列时使用了:从powershell阵列打印(2)列,powershell,Powershell,我创建此阵列时使用了: $arecords = Get-DnsServerResourceRecord -ZoneName "mydomain.local" -RRType "A" 如果我做了$arecords.HostName,我会得到一个主机名列表。如果我做了$arecords.RecordData,我会得到一个IP的列表。如何以AWK样式打印两列?像$arecords.Hostname.RecordData?一样,A记录是CIM对象,DnsServer模块提供的默认输出格式必须知道如何格
$arecords = Get-DnsServerResourceRecord -ZoneName "mydomain.local" -RRType "A"
如果我做了
$arecords.HostName
,我会得到一个主机名列表。如果我做了$arecords.RecordData
,我会得到一个IP的列表。如何以AWK样式打印两列?像$arecords.Hostname.RecordData
?一样,A记录是CIM对象,DnsServer模块提供的默认输出格式必须知道如何格式化它们,但将它们转换为字符串只会得到DnsServerResourceRecordA文本
您需要将.RecordData.IPv4Address
属性与计算属性一起取出,例如
$arecords| Select-Object -Property hostname, @{name='IP'; Expression={ $_.RecordData.IPv4Address }}
阿卡
太近了!奇怪的是,唯一的问题是RecordData打印的是“DnsServerResourceRecordA”,而不是值(IP):主机名RecordData dc1-adc2 DnsServerResourceRecordA dc1-adc3 DnsServerResourceRecordA(如果您在问题中编辑您尝试过的内容和发生的情况,将有助于其他人了解您当前的状态,并将您的问题提升到问题列表的顶部,以吸引更多的注意力)谢谢你,TeelelaTun-Hekkal.!是这样做的。我会努力更好地理解CIM对象。left@MathiasR.Jessen谢谢你,先生!我正在阅读我的第一个徽章的初始说明。
$arecords| select hostname, @{n='IP';E={$_.RecordData.IPv4Address}}