オブジェクトのプロパティを反復処理し、値がTrue
のものだけを出力するPowerShellスクリプトを作成しようとしています。オブジェクトのプロパティを反復処理する方法
マイ開始データはこれです:
UserId : 00546000000m3vCAAQ UserPermissionsOfflineUser : True UserPermissionsMobileUser : False UserPermissionsSupportUser : True UserPermissionsWebUser : False
私は、出力はユーザーIDと次のような該当するライセンスのみで構成されたい:
UserId : 00546000000m3vCAAQ UserPermissionsOfflineUser : True UserPermissionsSupportUser : True
私は2が必要だと思います1つは各ユーザーを反復処理し、もう1つはループを繰り返してユーザーのプロパティを反復処理し、すべてのfalse値を解析します。
foreach ($_ in $resultset)
{
$_ |
Select-Object -Property @{ N = 'UserId'; E = { $_.Id } }
#This is where I am getting stuck on the second loop.
#$_.psobject.properties | % { $_.Value }
}
感謝を。私は構文エラーを修正しました。私はValueの代わりに$ _。valueを使用します。私は正しい出力を得ていますが、UserIdは空です。 – PKonstant
@PKonstantは 'UserId'プロパティの実際の名前ですか?それとも 'Id'ですか?それは質問から明らかではない –
それは 'Id'です。私はそれを変更し、それは働いた!ありがとうございました。私はあなたのスクリプトの一部を '| -ExpandProperty Name 'と' $ _ | Select -Property @( 'Id'; $ trueProperties) 'を選択します。私はPowerShellを初めて使用しており、何の文が何を出力するかを知りたいと思いますか? – PKonstant