访问脚本 属性

Access Script property

我正在寻找 运行 本地服务器的 DNS 查找,select 主机名和 IP 地址并输出到文本文件。

[System.Net.Dns]::GetHostEntry('server1') | 
    Select-Object 'HostName', 'IPAddressToString' |
    Out-File -Path 'c:\temp\DnsIpAddress.txt'

我可以访问 HostName 但不能 select IPAddressToString。我可以 如果我以这种方式将结果保存到变量,则访问 IPAddressToString

$result.AddressList.IpAddressToString

我可以使用 Select-Object 到 select hostnameIPAddressToString 吗?或者我应该换一种方式吗?

使用计算得到的 属性 和 Select-Object:

[System.Net.Dns]::GetHostentry('server1') |
  Select-Object HostName,@{Name = 'IPAddress';Expression={$_.AddressList.IPAddressToString}} |
  Out-File -Path 'C:\temp\DnsIpAddress.txt'

可能还值得一提的是,有一个 cmdlet Resolve-DnsName 可能会产生更多 "PowerShelly" 代码:

Resolve-DnsName -name www.whosebug.com | Select-Object Name,IPAddress