回答
如果你想要得到的IP地址,这样你就可以与地址的工作,你可以这样做:
$ips = [System.Net.Dns]::GetHostAddresses("yourhosthere")
可以遍历他们像这样:
[System.Net.Dns]::GetHostAddresses("yourhosthere") | foreach {echo $_.IPAddressToString }
服务器可以有多个IP,所以这将返回一个IP数组。
$ ip = [System.Net.Dns] :: GetHostAddresses(“yourhosthere”)[0]将确保您只有一个IP地址,如果您确定它会解决 – 2014-11-10 14:36:46
从powershell中的主机名获取IPv4和IPv6地址的解释是here。另外,您可以通过点击上述文章中的Resolve IP address from Hostname来获得脚本。
我们未来可能无法使用的链接,请包括核心组件在您的答案,只使用链接的“更多信息” – rob 2016-10-07 08:39:17
我会使用解决方案vcsjones评论,但由于他的解决方案的结果,当用于具有多个IP地址的主机名将是一个IP数组,这将导致进一步的ping/tracert问题。
我使用的解决方案是:
$ping = New-Object System.Net.NetworkInformation.Ping
$ips = $($ping.Send("yourhosthere").Address).IPAddressToString
这将显示单个IP串(在$ips
变量),从单一的ICMP回应解决,防止IP地址的阵列用于与多个IP主机名。
为什么你有一个$前($ ping.Send .......? – 2017-05-09 03:53:33
@Backwards_Dave,显然我习惯用圆括号来分组项目已经结束(...): $ ips = $ ping.Send(“yourhosthere”)。Address.IPAddressToString 感谢您的询问。Less is more ... – 2017-05-10 09:46:44
如果您知道子网(即在本例中10.3)的一部分,那么这将抢在给定的子网中的所有地址:
PS C:\> [System.Net.Dns]::GetHostAddresses("MyPC") | foreach { $_.IPAddressToString | findstr "10.3."}
最简单的方法:
ping hostname
例如
ping dynlab938.meng.auth.gr
它将打印: ping命令dynlab938.meng.auth.gr [155.207.29.38]用32字节的数据
作为PowerShell的问题,我希望答案是一个字符串/包含IP地址的对象 – rob 2016-10-07 08:40:44
的这很适合于我的目的
$ping = ping -4 $env:COMPUTERNAME
$ip = $ping.Item(2)
$ip = $ip.Substring(11,11)
这是好的简单并获得所有节点。
$ip = Resolve-DNSName google.com
$ip
也尝试输入一个IP而不是域名,并检查出这些结果呢!
Best answe在这里! – gvee 2016-05-26 15:05:31
底下是如何不同[System.Net.Dns] :: GetHostAddresses? – Castrohenge 2017-09-07 11:51:31
如果您只想使用此方法访问IP地址,请使用$ ip.IPAddress。注意,如果有多个IP,这将返回一个数组。 – 2018-01-19 21:04:37
工作一个衬垫,如果你想从集合单个结果:
$ipAddy = [System.Net.Dns]::GetHostAddresses("yahoo.com")[0].IPAddressToString;
心连心
$computername = $env:computername
[System.Net.Dns]::GetHostAddresses($computername) | where {$_.AddressFamily -notlike "InterNetworkV6"} | foreach {echo $_.IPAddressToString }
尽管此代码可能会回答问题,但为何和/或如何通过此代码来回答问题提供了其他上下文,这可以提高其长期价值。 – JAL 2015-12-23 15:12:59
使用Resolve-DnsName cmdlet的。
Resolve-DnsName computername | FT Name, IPAddress -HideTableHeaders | Out-File -Append c:\filename.txt
PS C:\> Resolve-DnsName stackoverflow.com
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
stackoverflow.com A 130 Answer 151.101.65.69
stackoverflow.com A 130 Answer 151.101.129.69
stackoverflow.com A 130 Answer 151.101.193.69
stackoverflow.com A 130 Answer 151.101.1.69
PS C:\> Resolve-DnsName stackoverflow.com | Format-Table Name, IPAddress -HideTableHeaders
stackoverflow.com 151.101.65.69
stackoverflow.com 151.101.1.69
stackoverflow.com 151.101.193.69
stackoverflow.com 151.101.129.69
PS C:\> Resolve-DnsName -Type A google.com
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
google.com A 16 Answer 216.58.193.78
PS C:\> Resolve-DnsName -Type AAAA google.com
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
google.com AAAA 223 Answer 2607:f8b0:400e:c04::64
虽然这段代码可能会回答这个问题,但提供关于为什么和/或该代码如何回答问题的其他内容可以提高其长期价值。 – Jack 2016-01-07 15:36:20
如果你有一大堆主机的文本文件,您可以使用此代码
$a = get-content "C:\Users\host.txt"(file path)
foreach ($i in $a)
{
$i + "`n" + "==========================";[System.Net.Dns]::GetHostAddresses($i)
}
测试,连接命令似乎是一个有用的选择,它可以提供Win32_PingStatus对象或布尔值。
- 1. 将主机名解析为IP地址
- 2. 无法从容器内的主机名解析IP地址
- 3. 在C中解析任意主机名/ IP地址#
- 4. 主机名不能被解析为IP地址
- 5. Android将主机名解析为IP地址翻译
- 6. 如何将主机名异步解析为IP地址?
- 7. hdfs局域网IP地址主机名解析
- 8. .NET Socket.Connect将主机名解析为IP地址
- 9. Python解析主机名与IPv6地址
- 10. 按主机名解析mac地址
- 11. PHP解析主机+ IP到IP地址的唯一
- 12. 执行DNS查找以使用JavaScript将主机名解析为IP地址
- 13. 使用SMTP与主机的IP地址
- 14. 从IP地址获取主机名
- 15. 解析IP地址以获取别名
- 16. IP如何解析主机名?
- 17. 是否有可能从没有DNS的IP地址解析主机名?
- 18. 来自主机的Docker和不一致的IP地址
- 19. 来自IP地址的DNS名称
- 20. 进程对同一主机名使用不同的IP地址
- 21. 使用PowerShell解析网络上的主机名
- 22. 来自计算机名称的Microsoft Exchange Server主机地址
- 23. 如何在Eureka中使用IP地址而不是主机名?
- 24. 如何使用主机名获取IP地址?
- 25. mysqli通过IP地址连接但不使用主机名
- 26. 是否可以使用PHP将域名解析为IP地址?
- 27. 如何将IP地址解析为Haskell中的IP地址?
- 28. 使用PHP将IP解析为主机名
- 29. 使用dnsjava将给定IP解析为其主机名称
- 30. 的Node.js和ExpressJS /使主机名和IP地址
没有一个Windows机器我不能肯定,但也不Nslookup的或挖可用? – 2011-12-28 20:34:36