A Power Shell no le gustan los comandos

A Power Shell no le gustan los comandos

¿Alguna idea de lo que hice mal aquí? Copié este script de un tutorial y aparece este error...

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

Respuesta1

Intente usar {} en lugar de paréntesis alrededor de su argumento.

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

Tome nota cuidadosa de la sintaxis. Para empezar, la cláusula donde está encerrada entre llaves; Además, la notación $_ se utiliza para representar el objeto predeterminado (es decir, el objeto que se transfiere a través de la canalización).

Respuesta2

Necesitas usar { en lugar de (

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

información relacionada