Поиск по сайту:

PowerShell: Поиск соседей с помощью Get-NetNeighbor


Вы знаете своих соседей? Я имею в виду соседей в реальном мире. Надеюсь, да. Но как насчет виртуальных соседей? Модуль PowerShell NetTCPIP предоставляет команду под названием Get-NetNeighbor. В этой статье я собираюсь поиграть с Get-Neighbor и попытаться найти всех моих кэшированных соседей.

Get-NetAdapter

Сначала проверьте идентификатор интерфейса (ifIndex) или имя вашего сетевого адаптера.

Get-NetAdapter

Get-NetNeighbor в действии

IPv4

Get-NetNeighbor -InterfaceAlias "Ethernet 2" -AddressFamily IPv4

IPv6

Get-NetNeighbor -InterfaceAlias "Ethernet 2" -AddressFamily IPv6

Показать всех соседей IPv4, кроме широковещательных и многоадресных адресов

Get-NetNeighbor -AddressFamily IPv4 | Where-Object {($_.IPAddress -like "192.168.0.*") -and ($_.IPAddress -ne "192.168.0.255")}

Показать всех соседей IPv6, кроме многокастовых адресов

Для общения по той же ссылке используются локально-адресные адреса. Чтобы отобразить всех соседей IPv6 с локально-адресными адресами, выполните

Get-NetNeighbor -IPAddress fe80* -AddressFamily Ipv6

Пинговать всех соседей

И, наконец, попробуйте пинговать всех соседей.

IPv4

(Get-NetNeighbor -AddressFamily IPv4 | Where-Object {($_.IPAddress -like "192.168.0.*") -and ($_.IPAddress -ne "192.168.0.255")}).IPAddress | ForEach-Object {Test-Connection -ComputerName $_ -Count 1} | Format-Table -AutoSize

IPv6

(Get-NetNeighbor -IPAddress fe80* -AddressFamily IPv6).IPAddress | Foreach-Object {Test-Connection -ComputerName $_ -Count 1} | Format-Table -AutoSize

Удачи в исследовании своих соседей! 😉 Также посмотрите мою статью: Современная версия пинга: Test-Connection.