Power Shell não gosta de comando

2

Alguma idéia do que eu fiz de errado aqui? Eu copiei este script de um tutorial e recebo este erro ....

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
    
por Campo 16.06.2010 / 17:43

2 respostas

4

Tente usar {} em vez de parênteses em torno do seu argumento.

link

Take careful note of the syntax. To begin, the where clause is enclosed within curly braces; in addition, the $_ notation is used to represent the default object (that is, the object being transferred across the pipeline).

    
por 16.06.2010 / 17:58
4

Você precisa usar {em vez de (

Get-Service | Where-Object {$_.status -eq "running"}
    
por 16.06.2010 / 17:59