How do I get properties that ONLY have populated values?

后端 未结 4 770
鱼传尺愫
鱼传尺愫 2020-12-10 09:22

How do I get properties that ONLY have populated values?

So for example if I run

Get-QADUser -Identity \"SomeOne\" -IncludeAllProperties
4条回答
  •  暖寄归人
    2020-12-10 09:50

    You first get its properties (since Get-QADUser depends on AD schema, the properties list is dynamic) with get-member -type property, then filter out those that don't have \{.*(get).*\} in its definition (that is, they are not "gettable"), then enumerate the resultant list by name and filter out nulls.

    $someone=Get-QADUser -Identity "SomeOne" -IncludeAllProperties
    $members=$someone|get-member -type property| where {$_.definition -match '\{.*(get).*\}'}
    foreach ($member in $members) {
        if ($someone[$member.name] -ne $null) {
            write-host $member.name $someone[$member.name] 
        }
    }
    

提交回复
热议问题