如何通过 powershell 重新启动特定的网络接口

如何通过 powershell 重新启动特定的网络接口

我正在尝试使用具有特定 IP 地址的 powershell 重新启动网络接口。我做了以下语句:

$iface = Get-NetIPAddress | Where-Object -FilterScript { $_.IPAddress -like "10.212*" } | format-wide -Property InterfaceAlias

获得了具有格式范围的接口,但使用下面的变量无法正常工作。

Restart-NetAdapter -Name $iface

这是使用变量的正确方法吗?

使用 powershell 版本 5。

答案1

格式化 cmdlet 返回字符串,这些字符串对于人类来说非常容易阅读,但不再是实际的对象。特别是,Format-Wide添加了几个可能令人困惑的换行符Restart-NetAdapter

生成的对象Get-NetIPAddress具有一个InterfaceIndex属性,我们可以使用该属性从中获取网络适配器对象Get-NetAdapter。然后可以将适配器对象传输到Restart-NetAdapter

Get-NetAdapter -InterfaceIndex (Get-NetIPAddress | ? {$_.IPAddress -like '10.212.*'}).InterfaceIndex | Restart-NetAdapter

Where-Object还要注意into的别名?- 这是一个方便的标准 PowerShell 别名,您可以根据需要使用它。

相关内容