我正在尝试创建将IP地址解析为DNS名称,然后ping输出计算机编号的脚本:$name = Read-Host "Please enter IP address"
$comp = Resolve-DnsName $name | select NameHost -First 1
输出为
NameHost
COMPPL01-NB0128.domain.com 网站
当我尝试格式化输出时,它会显示@{NameHost=COMPPL01-NB0128.domain.com}
因此,我无法使用命令test connection ping结果Test-Connection -ComputerName $comp
据我所知,test-connection cmdl正在尝试ping整个字符串NameHost= COMPPL01-NB0128.domain.com
我如何从输出中只选择计算机名并ping它呢?到目前为止,它给了我一条错误消息:
测试连接:测试与计算机“@{NameHost=COMPPL01-NB0128.domain.com}”的连接失败:在数据库查找过程中发生不可恢复的错误行:1字符:1
- 测试连接计算机名$comp
- 类别信息:资源不可用:(@{NameHost=COMPPL01-NB0128.domain.com}:字符串)[测试连接],Ping异常
- 完全限定错误ID:异常错误,Microsoft.PowerShell.命令.
1条答案
按热度按时间oxcyiej71#
有两个选项:
Resolve-DnsName 8.8.8.8 | Select-Object -ExpandProperty NameHost
您可以使用Expand属性单独获取主机名值。(Resolve-DnsName 8.8.8.8).NameHost
使用Dot运算符获取其属性。