如何透過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 別名,您可以根據需要使用它。

相關內容