Powershell Resolve-DnsName转换为变量

我正在尝试将Resolve-Dnsname mmydomain.com的数据放入一个变量。

$data = Resolve-Dnsname mmydomain.com 
Write-host $data

此脚本的结果是,我只能看到此字符串microsoft.DnsClient.Commands.DnsRecord_A,而简单执行Resolve-Dnsname mmydomain.com则会向我写入完整的nslookup数据。

有什么建议吗?

yrxxxyr 回答:Powershell Resolve-DnsName转换为变量

您应该在使用Write-host时使用Write-output

$data = Resolve-DnsName mmydomain.com 
Write-output $data

预期产量

Name                                           Type   TTL   Section    IPAddress                                
----                                           ----   ---   -------    ---------                                
www.google.com                                 AAAA   9     Answer     2a00:1450:4009:80d::2004                 
www.google.com                                 A      9     Answer     216.58.204.36 

关于Write-hostWrite-output here的其他信息。

,

您从根本上不了解对象的工作方式。 IP信息位于$data.IPAddress中-下面列出了运行Resolve-DnsName cmdlet时检索到的所有属性:

$data = Resolve-DnsName mmydomain.com 
$data | Select *

如果您想要一个(或多个)属性,请按名称要求(

):
$data = Resolve-DnsName mmydomain.com 
# By Select method
Write-Host 'Select the IpAddress property of $data:'
$data | Select IPAddress | Out-Host
# By property name
Write-Host 'Get by property name:'
$data.IpAddress

通常,您只会使用所需的内容。

$Data | select Name,Ip4Address,Type

在您的示例中:

If ($data.IpAddress -like "*11.22.33.44*") {
    Write-Host "Got it!"
}
Else {
    Write-Host "Nothing found!"
}
本文链接:https://www.f2er.com/3117235.html

大家都在问