Power Shell mag keinen Befehl

Power Shell mag keinen Befehl

Irgendwelche Ideen, was ich hier falsch gemacht habe? Ich habe dieses Skript aus einem Tutorial kopiert und erhalte diesen Fehler...

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

Antwort1

Versuchen Sie, {} anstelle von Klammern um Ihr Argument zu verwenden.

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

Beachten Sie die Syntax sorgfältig. Zunächst ist die Where-Klausel in geschweifte Klammern eingeschlossen. Darüber hinaus wird die Notation $_ verwendet, um das Standardobjekt darzustellen (also das Objekt, das über die Pipeline übertragen wird).

Antwort2

Sie müssen { anstelle von ( verwenden.

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

verwandte Informationen