当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中从 IP 地址获取主机名 [ 3 种方法]

作者:精品下载站 日期:2024-12-14 05:30:20 浏览:14 分类:玩电脑

在 PowerShell 中从 IP 地址获取主机名 [ 3 种方法]


[玩转系统] 在 PowerShell 中从 IP 地址获取主机名 [ 3 种方法]

使用 Resolve-DnsName Cmdlet

要在 PowerShell 中从给定 IP 地址检索主机名,请使用带有 -TypePTR 参数的 Resolve-DnsName cmdlet。

使用 Resolve-DnsName Cmdlet:

Resolve-DnsName -Type PTR -Name 8.8.8.8 | Select-Object -ExpandProperty NameHost

输出 :

dns.google

在此示例中,Resolve-DnsName cmdlet 将 IP 地址解析为 DNS 名称(主机名)。 -Type 参数用于指定查询应针对 PTR 记录(PTR 记录是一种域名系统记录,它将 IP 地址映射到hostname),-Name 参数指定了我们要解析的 IP 地址。

然后,该命令将输出传送到 Select-Object cmdlet 以展开 NameHost 属性,其中包含与 IP 地址对应的主机名。然后,输出通过管道传输到 Select-Object cmdlet 以展开 NameHost 属性,其中包含与 IP 地址对应的主机名。

8.8.8.8 替换为您要解析的 IP 地址。

使用 nslookup 命令

使用 nslookup 在 PowerShell 中从 IP 地址获取主机名。

使用 nslookup 命令:

$ipAddress = "213.133.127.245"
nslookup $ipAddress | Select-String -Pattern 'Name:' 

输出 :

Name:    kronos.alteregomedia.org

此代码使用 nslookup 命令向 DNS 服务器请求与 IP 地址 213.133.127.245 关联的主机名。 nslookup 命令输出通过管道传输到 Select-String cmdlet,该 cmdlet 搜索包含 Name: 的行,其中包括主机名信息。

使用 [System.Net.Dns]::GetHostByAddress 方法

使用 [System.Net.Dns]::GetHostByAddress 方法从 PowerShell 中的 IP 地址获取主机名。

使用 GetHostByAddress() 方法:

$ipAddress = "8.8.8.8"
$hostEntry = [System.Net.Dns]::GetHostByAddress($ipAddress)
$hostname = $hostEntry.HostName
Write-Host "The hostname associated with IP address $ipAddress is $hostname"

输出 :

The hostname associated with IP address 8.8.8.8 is dns.google

我们可以观察到上面的代码检索了给定 IP 地址的主机名。在此示例中,$ipAddress 变量包含我们要解析的 IP 地址。 [System.Net.Dns]::GetHostByAddress 方法使用此 $ipAddress 变量作为输入并返回 System.Net.IPHostEntry 对象其中包含有关主机的各种详细信息。返回此对象后,IPHostEntry 对象的 .HostName 属性将提取主机名。

这就是如何在 PowerShell 中从 IP 地址获取主机名。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯