Board logo

标题: [问题求助] Powershell 获取IPV6地址 [打印本页]

作者: 小白龙    时间: 2022-7-31 10:33     标题: Powershell 获取IPV6地址

下面的代码, 取到的IPv6地址有三个, 有一个临时的, 还有一个本地的, 还有一个外网的,
如果我只想取那个外网的, 有什么更直接的方法吗? 请求高手解答, 多谢
  1. $ComputerName = ''
  2. [System.Net.Dns]::GetHostAddresses($ComputerName) |
  3. Where-Object {
  4.   $_.AddressFamily -eq 'InterNetworkV6'
  5. } |
  6. Select-Object -ExpandProperty IPAddressToString
复制代码

作者: flashercs    时间: 2022-7-31 16:43

  1. Get-NetIPAddress -AddressFamily IPv6 -PrefixOrigin RouterAdvertisement -SuffixOrigin Link|Select-Object -ExpandProperty IPAddress
复制代码
win7 ps2.0可能不支持此cmdlet;
作者: 小白龙    时间: 2022-7-31 18:01

回复 2# flashercs


感谢大侠,

试了下, ps5.1也不能用, 难道非得要ps6或7吗
作者: 小白龙    时间: 2022-7-31 19:08

回复 2# flashercs


  找到了C#的代码, 但是不知道怎么在PS中使用
https://www.cnblogs.com/LifeDecidesHappiness/p/15577072.html
作者: flashercs    时间: 2022-7-31 21:45

  1. foreach ($nic in [System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces()) {
  2.   if ($nic.NetworkInterfaceType -ne 'Loopback' -and $nic.OperationalStatus -eq 'Up') {
  3.     $ipprops = $nic.GetIPProperties()
  4.     foreach ($ipinfo in $ipprops.UnicastAddresses) {
  5.       if ($ipinfo.PrefixOrigin -eq 'RouterAdvertisement' -and $ipinfo.SuffixOrigin -eq 'LinkLayerAddress') {
  6.         $ipinfo.Address.ToString()
  7.       }
  8.     }
  9.   }
  10. }
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2