을 가지고 내가 입력 내 푸른 웹 응용 프로그램의 모든 이름을 나열하려면 PowerShell에서 다음은 Get-AzureRmWebApp : 필터링 결과 것은 예기치 않은 동작이
Get-AzureRmWebApp | % { $_.Name }
그것은 출력 : 다음
coolum-exercise-web-app
practice-web-app
AzureSandbox
그러나 이 출력을 이름으로 필터링하고 싶습니다. 이를 입력하면
Get-AzureRmWebApp | ? { $_.Name -like "coolum-exercise-web-app" } | % { $_.Name }
출력이 하나만 표시됩니다. 대신 내가 볼
coolum-exercise-web-app
practice-web-app
AzureSandbox
이름 필터가 적용되지 않은 이유는 무엇입니까? 내가 Get-AzureRmWebApp
에 직접 -Name
매개 변수를 사용하는 경우
그것은 작동합니다
Get-AzureRmWebApp -Name "coolum-exercise-web-app" | % { %_.Name }
출력 :
coolum-exercise-web-app
왜 where-object
예상대로 필터를 적용하지 않습니다?
여기에 약간의 수수께끼 같은 행동이 있습니다.
Get-AzureRmWebApp
을 대괄호로 묶는 경우 예상대로 필터가 작동합니다.
(Get-AzureRmWebApp) | ? { $_.Name -like "coolum-exercise-web-app" } | % { $_.Name }
출력 :
coolum-exercise-web-app
사람이 동작을 설명 할 수 있습니까? 괄호 안에 명령을 넣으면 필터링이 작동하는 이유는 무엇입니까? (괄호주의)
(Get-AzureRmWebApp) | ? { $_.Name -like 'cool*' }
이 절은 Get-AzureRmWebApp을 할 수있는 기본 명명 된 매개 변수로 간주됩니다 전체 같은데 :