2017-12-23 8 views
1

オブジェクトは、私はもちろんPowerShellでは、ネストされたプロパティキー/値オブジェクトによってオブジェクトをフィルタリングする方法を教えてください。

get-log | where-object { $_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42' } 

ような何かを行うことによって、一つのオブジェクトという返す何かをしたい

Date: <date> 
Properties: 
     statusCode  : OK 
     serviceRequestId: 97168d7a-4c92-4d65-b509-65785b14ef42 
Name: <name> 
Details: <details> 

のように見えることができます。get-ログコマンドから返さこれは機能しませんが、私はこのように動作するものが欲しいです。

私の目標は、「詳細」プロパティを表示することです。

答えて

1

であるとして、あなたが作品を提供するフィルタリングサンプル:あなたは(完全なオブジェクトだけではなく、内側のプロパティ)するオブジェクト(複数可)を返します

get-log | where-object { $_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42' } 

ですからDetailsのように、他のプロパティで取得するためにその結果を使用することができます。

$result = get-log | where-object { $_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42' } 
$result.Details 

それとも、パイプラインを継続してSelect-Objectを使用することで、1つのラインでそれをすべて行うことができます。

get-log | 
    where-object { 
     $_.Properties.serviceRequestId -eq '97168d7a-4c92-4d65-b509-65785b14ef42' 
    } | 
    Select-Object -ExpandProperty Details 

(読みやすくするため複数行で入力してください)

関連する問題