gpt4 book ai didi

powershell - 有没有办法在不依赖 DNS 查询的情况下从 IP 地址获取主机名?

转载 作者:行者123 更新时间:2023-12-02 11:17:14 27 4
gpt4 key购买 nike

我正在尝试编写一个脚本,该脚本依赖于知道某个网段上计算机的名称,但是我发现的所有脚本都依赖于 DNS 查询,该查询仅回复了几台机器的名称。例如:

[System.Net.Dns]::GetHostbyAddress($IPAddress) 

我也试过使用
Ping -a $ipaddress

但这通常也无法返回机器名称。有没有办法直接询问主机它的名字是什么以及在 AD 中可能需要什么级别的权限才能获得响应?
提前致谢。

最佳答案

[System.Net.DNS]::GetHostByAddress() (现在 [System.Net.DNS]::GetHostEntry() )不仅依赖 DNS,尽管它的名字。它还会检查本地 C:\Windows\System32\Drivers\etc\hosts本地配置条目的文件。

直接 dns 通过 nslookup找不到名字:

PS C:\Users\Tim> nslookup 192.168.1.50
Server: dns03
Address: 192.168.2.103

*** rpi03 can't find 192.168.1.50: Non-existent domain

然而, gethostentry() 仍然可以找到名称:
PS C:\Users\Tim> [system.net.dns]::gethostentry('192.168.1.50')

HostName Aliases AddressList
-------- ------- -----------
localentry {} {192.168.1.50}

关于powershell - 有没有办法在不依赖 DNS 查询的情况下从 IP 地址获取主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45242022/

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