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"}

関連情報