我希望对本地服务器运行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
来选择hostname
和IPAddressToString
吗? 还是我应该以另一种方式执行此操作?
将计算属性与 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