
특정 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
있습니다 . 그런 다음 어댑터 개체를 .InterfaceIndex
Get-NetAdapter
Restart-NetAdapter
Get-NetAdapter -InterfaceIndex (Get-NetIPAddress | ? {$_.IPAddress -like '10.212.*'}).InterfaceIndex | Restart-NetAdapter
Where-Object
또한 into 의 별칭에 유의하세요 ?
. 이는 원하는 경우 사용할 수 있는 편리한 표준 PowerShell 별칭입니다.