Эта команда должна предоставить вам то, что вы ищете.
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
}