Как получить чистую отсортированную и отфильтрованную таблицу маршрутизации из Windows 10? - PullRequest
1 голос
/ 18 сентября 2019

Я хочу видеть простую сортировку моей таблицы маршрутизации Windows 10.Я пытаюсь отладить конфликт между подсетями между несколькими VPN, которые я использую одновременно, и таблица маршрутизации заставляет мои глаза болеть, когда я пытаюсь просмотреть свои изменения.Могу ли я просто показать маршруты, которые не являются значениями по умолчанию (переход к 0.0.0.0 в следующем прыжке), а затем только те поля, которые я считаю релевантными?

Да, и я хочу видеть только маршруты IPv4.IPv6 здесь не актуален.

1 Ответ

1 голос
/ 18 сентября 2019

Эта команда должна предоставить вам то, что вы ищете.

Get-NetRoute -AddressFamily IPv4 -State Alive |
Where-Object {$_.NextHop -ne '0.0.0.0'} |
Sort-Object InterfaceAlias |
Select-Object -Property InterfaceAlias,DestinationAddress,DestinationPrefix,NextHop

Объяснение:

Get-NetRoute выводит один объект за маршрут.Мы используем -AddressFamily только для получения маршрутов IPv4 и как -State, чтобы гарантировать, что это активный маршрут.Затем мы отправляем эти объекты в Where-Object, где фильтруем только маршруты с NextHop, который не имеет 0.0.0.0.

Остальные объекты передаются в Sort-Object, поэтому они перечисляются по интерфейсу, а затем Select-Object, чтобы выбрать атрибуты, которые мы хотим видеть.Я думаю, что InterfaceAlias, DestinationAddress, DestinationPrefix, NextHop наиболее полезны в типичной отладочной работе.

Бонус:

Вы можете создать простую функцию powershell и поместить ее в свой профиль..ps1 (Местоположение хранится как $ PROFILE), чтобы сохранить ваше здоровье.

function Get-RoutesV4 { 
  Get-NetRoute -AddressFamily IPv4 -State Alive | Where-Object {$_.NextHop -ne '0.0.0.0'} | Sort-Object InterfaceAlias | Select-Object -Property InterfaceAlias,DestinationAddress,DestinationPrefix,NextHop 
}

function Get-RoutesV6 { 
  Get-NetRoute -AddressFamily IPv6 -State Alive | Where-Object {$_.NextHop -ne '0.0.0.0'} | Sort-Object InterfaceAlias | Select-Object -Property InterfaceAlias,DestinationAddress,DestinationPrefix,NextHop 
}

function Get-Routes { 
  Get-NetRoute -State Alive | Where-Object {$_.NextHop -ne '0.0.0.0'} | Sort-Object InterfaceAlias | Select-Object -Property InterfaceAlias,DestinationAddress,DestinationPrefix,NextHop 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...