访问脚本属性



我希望对本地服务器运行DNS查找,选择主机名和IP地址并输出到文本文件。

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

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

$result.AddressList.IpAddressToString

我可以使用Select-Object来选择hostnameIPAddressToString吗? 还是我应该以另一种方式执行此操作?

将计算属性与 Select-Object 一起使用:

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

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

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

最新更新