Power Shell은 명령을 좋아하지 않습니다

Power Shell은 명령을 좋아하지 않습니다

내가 여기서 뭘 잘못했는지 아세요? 튜토리얼에서 이 스크립트를 복사했는데 이 오류가 발생했습니다....

PS C:\Windows\system32> Get-Service | Where-Object ($_.status -eq "running")

Where-Object : Cannot bind parameter 'FilterScript'. Cannot convert value "False" to type "System.Management.Automation
.ScriptBlock". Error: "Invalid cast from 'System.Boolean' to 'System.Management.Automation.ScriptBlock'."
At line:1 char:27
+ Get-Service | Where-Object <<<<  ($_.status -eq "running")
    + CategoryInfo          : InvalidArgument: (:) [Where-Object], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.WhereObjectCommand

답변1

인수 주위에 괄호 대신 {}를 사용해 보세요.

http://technet.microsoft.com/en-us/library/ee177028.aspx

구문을 주의 깊게 기록해 두세요. 시작하려면 where 절을 중괄호로 묶습니다. 또한 $_ 표기법은 기본 개체(즉, 파이프라인을 통해 전송되는 개체)를 나타내는 데 사용됩니다.

답변2

( 대신 {를 사용해야 합니다.

Get-Service | Where-Object {$_.status -eq "running"}

관련 정보