powershell 如何使用 Windows 方法将名称解析为 IP 地址
powershell how to resolve name to IP address using Windows method
我看到有人在用这个:
[Net.DNS]::GetHostEntry("serverName").addressList[0].IPAddressToString
...这对我有用。除了,如果我在主机文件中有一个条目怎么办?这是否使用与 Windows 使用相同的方法或跳过 DNS 缓存和主机文件并始终查询 DNS 服务器?我想使用 Windows 用于浏览器、Windows Explorer、ping 等的任何方法
为什么不直接使用内置的 DNS cmdlet?
或者是否有特定原因让您沿着原始 .Net 路径前进?
代码项目、家庭作业、好奇心?
Get-Command -Name Resolve-Dns* | Format-Table -AutoSize
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Resolve-DnsName 1.0.0.0 DnsClient
# Get parameters, examples, full and Online help for a cmdlet or function
(Get-Command -Name Resolve-DnsName).Parameters
Get-help -Name Resolve-DnsName -Examples
Get-help -Name Resolve-DnsName -Full
Get-help -Name Resolve-DnsName -Online
Resolve-DnsName -Name whosebug.com -Type A | Format-Table -AutoSize
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
whosebug.com A 268 Answer 151.101.65.69
whosebug.com A 268 Answer 151.101.193.69
whosebug.com A 268 Answer 151.101.129.69
whosebug.com A 268 Answer 151.101.1.69
Get-Content C:\WINDOWS\System32\Drivers\Etc\hosts
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
Resolve-DnsName -Name localhost -Type ANY | Format-Table -AutoSize
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
localhost.lab.net A 1260 Answer 127.0.0.1
Resolve-DnsName -Name $env:COMPUTERNAME -Type ANY | Format-Table -AutoSize
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
WS01 A 30 Answer 10....
WS01 AAAA 30 Answer 2601:...
WS01 AAAA 30 Answer 2601:...
WS01 AAAA 30 Answer fe80::...
使用原始 .Net 调用,会给你...
[Net.DNS]::GetHostEntry('whosebug.com').addressList[0].IPAddressToString
151.101.65.69
[Net.DNS]::GetHostEntry('localhost').addressList[0].IPAddressToString
::1
[Net.DNS]::GetHostEntry($env:COMPUTERNAME).addressList[0].IPAddressToString
fe80::...
我看到有人在用这个:
[Net.DNS]::GetHostEntry("serverName").addressList[0].IPAddressToString
...这对我有用。除了,如果我在主机文件中有一个条目怎么办?这是否使用与 Windows 使用相同的方法或跳过 DNS 缓存和主机文件并始终查询 DNS 服务器?我想使用 Windows 用于浏览器、Windows Explorer、ping 等的任何方法
为什么不直接使用内置的 DNS cmdlet? 或者是否有特定原因让您沿着原始 .Net 路径前进? 代码项目、家庭作业、好奇心?
Get-Command -Name Resolve-Dns* | Format-Table -AutoSize
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Resolve-DnsName 1.0.0.0 DnsClient
# Get parameters, examples, full and Online help for a cmdlet or function
(Get-Command -Name Resolve-DnsName).Parameters
Get-help -Name Resolve-DnsName -Examples
Get-help -Name Resolve-DnsName -Full
Get-help -Name Resolve-DnsName -Online
Resolve-DnsName -Name whosebug.com -Type A | Format-Table -AutoSize
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
whosebug.com A 268 Answer 151.101.65.69
whosebug.com A 268 Answer 151.101.193.69
whosebug.com A 268 Answer 151.101.129.69
whosebug.com A 268 Answer 151.101.1.69
Get-Content C:\WINDOWS\System32\Drivers\Etc\hosts
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
Resolve-DnsName -Name localhost -Type ANY | Format-Table -AutoSize
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
localhost.lab.net A 1260 Answer 127.0.0.1
Resolve-DnsName -Name $env:COMPUTERNAME -Type ANY | Format-Table -AutoSize
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
WS01 A 30 Answer 10....
WS01 AAAA 30 Answer 2601:...
WS01 AAAA 30 Answer 2601:...
WS01 AAAA 30 Answer fe80::...
使用原始 .Net 调用,会给你...
[Net.DNS]::GetHostEntry('whosebug.com').addressList[0].IPAddressToString
151.101.65.69
[Net.DNS]::GetHostEntry('localhost').addressList[0].IPAddressToString
::1
[Net.DNS]::GetHostEntry($env:COMPUTERNAME).addressList[0].IPAddressToString
fe80::...