gpt4 book ai didi

powershell - 使用 Powershell 从 CNAME 记录中解析 IP 地址

转载 作者:行者123 更新时间:2023-12-02 23:38:12 25 4
gpt4 key购买 nike

我的服务器最近从简单的 www.example.com A 10.10.10.10 类型结构转变为使用 CNAME 抽象....

 www.example.com   CNAME   www1.example.com
www1.example.com A 10.10.10.10

以前我可以使用以下方法进行 DNS 查找以获取 A 记录:

 $myHostIp = Resolve-DnsName "www.example.com" A -DnsOnly | Select-Object -first 1
$myHostIp = $myHostIp.IP4Address

(这不适用于 CNAME 记录)。

如何获取与 CNAME 记录关联的(第一个)IP 地址?

我试过:

 $myHostIp = Resolve-DnsName "www.example.com" A -DnsOnly | Select-Object -first 1 -Property IP4Address

但我只是得到空值。

最佳答案

当您使用 Resolve-DnsName -Type A 查询 CNAME 时,您会得到两个响应。第一个是 CNAME 响应,第二个是 A。

你可以清楚地看到发生了什么:

PS> Resolve-DnsName -Name 'www.google.com' -Type A -DnsOnly | Format-List -Property *


QueryType : CNAME
Server : forcesafesearch.google.com
NameHost : forcesafesearch.google.com
Name : www.google.com
Type : CNAME
CharacterSet : Unicode
Section : Answer
DataLength : 8
TTL : 228

Address : 216.239.38.120
IPAddress : 216.239.38.120
QueryType : A
IP4Address : 216.239.38.120
Name : forcesafesearch.google.com
Type : A
CharacterSet : Unicode
Section : Answer
DataLength : 4
TTL : 228

您得到的是空值,因为第一个对象不包含名为“IP4Address”的属性,并且不存在的属性值为空值。

尝试:

$myHostIp = Resolve-DnsName -Name 'www.example.com' -Type A -DnsOnly | 
Where-Object QueryType -eq 'A' |
Select-Object -First 1 -ExpandProperty IP4Address

关于powershell - 使用 Powershell 从 CNAME 记录中解析 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49653819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com