【发布时间】:2014-04-03 15:22:11
【问题描述】:
当我使用 .NET GetHostAddresses 方法在服务器上的 PowerShell 中运行以下 DNS 查询时,我得到以下信息:
([System.Net.Dns]::GetHostAddresses("hostname")).ipaddresstostring
10.10.10.55
我正在远程运行此查询。
但是,当我在实际服务器本身上本地运行相同的确切查询时,我得到以下信息:
([System.Net.Dns]::GetHostAddresses("hostname")).ipaddresstostring
10.10.10.55
10.10.34.101
10.10.138.154
显然,它为我提供了未在 DNS 中注册的其他接口的 IP 地址,因为我在本地运行该方法。
所以,我的问题是,如何强制该方法仅查询 DNS 或 DNS 缓存,而不是先查询 localhost 信息?换句话说,我如何在服务器上本地运行此方法以获得远程运行时它会给我的输出?
我只想要与 DNS 关联的 IP 地址,无论我是远程运行还是本地运行。
谢谢。
【问题讨论】:
-
您是只使用主机名还是 FQDN?
-
我都试过了,结果一样。
-
GetHostEntry() 在 AddressList 中返回相同的内容吗?
-
实际上,是的。我必须调用 [System.Net.Dns]::GetHostEntry("hostname").addresslist,但这会得到相同的结果。
标签: .net windows powershell networking dns