Powershell确定活动的以太网适配器及其MAC

时间:2019-04-10 09:24:16

标签: powershell ethernet

在Linux中,我可以使用“ ip route”命令确定活动的Eth适配器:

vasyl@retail-z3-1:~$ ip route get 8.8.8.8
8.8.8.8 via 10.186.0.1 dev ens4  src 1.1.1.1

是否有任何方法可以确定PS中用于Internet连接的适配器名称(及其MAC)?也许是get-netadapter或类似的东西。

PS现在,我正在使用以下代码从已知适配器中提取MAC地址:

$CurrMac = get-netadapter | Where {$_.name -Match "Ethernet 2"}
$CurrMacaddr = $CurrMac.MacAddress.Replace("-", "")

并且需要自动确定Internet适配器。

UPD1假设我有一台带有2个或更多Eth适配器的主机。一种用于Internet,其余-用于内部网络或不活动。

1 个答案:

答案 0 :(得分:0)

类似?

$adapters = Get-NetAdapter

foreach ($adapter in  $adapters){
    if($adapter.Status -eq "Up" -and $adapter.Name.Contains("Ethernet")){
    Write-Host $adapter.MacAddress 
    }
}

但是您仍然可以获得更多的MAC地址..

或使用Get-NetRoute -DestinationPrefix '0.0.0.0/0' | Get-NetAdapter 然后

$activeMAC= Get-NetRoute -DestinationPrefix '0.0.0.0/0' | Get-NetAdapter
Write-Host $activeMAC.MacAddress

那应该只返回1个MAC