Powershell로 특정 네트워크 인터페이스를 다시 시작하는 방법

Powershell로 특정 네트워크 인터페이스를 다시 시작하는 방법

특정 IP 주소를 사용하여 powershell로 네트워크 인터페이스를 다시 시작하려고 합니다. 나는 다음과 같은 말을 했습니다.

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

형식 전체의 인터페이스가 있지만 아래 변수를 사용하면 제대로 작동하지 않습니다.

Restart-NetAdapter -Name $iface

변수를 사용하는 것이 올바른 방법입니까?

파워셸 버전 5를 사용합니다.

답변1

형식 지정 cmdlet은 사람이 읽기에 매우 좋은 문자열을 반환하지만 더 이상 실제 개체가 아닙니다. 특히, Format-Wide혼란을 줄 수 있는 여러 개의 줄 바꿈을 추가합니다 Restart-NetAdapter.

에서 생성된 개체에는 에서 네트워크 어댑터 개체를 얻는 데 사용할 수 있는 속성이 Get-NetIPAddress있습니다 . 그런 다음 어댑터 개체를 .InterfaceIndexGet-NetAdapterRestart-NetAdapter

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

Where-Object또한 into 의 별칭에 유의하세요 ?. 이는 원하는 경우 사용할 수 있는 편리한 표준 PowerShell 별칭입니다.

관련 정보