mni*_*eto 2 powershell select-object
我有一组对象,其中包含id,username,email,current_sign_in_at,identityities等属性.其中Identities属性是具有两个属性的对象数组.这将是对象的json表示:
{
"id": 45,
"name": "Emilio Roche",
"username": "EROCHE",
"state": "active",
"identities": [
{
"provider": "ldapmain",
"extern_uid": "cn=roche\\, emilio,ou=xxxxxxxxxx"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是列表中的一些元素没有identityities属性.所以,当我这样做时:
Get-Collection | Select-Object id, username -ExpandProperty identities
Run Code Online (Sandbox Code Playgroud)
我只获得具有identities属性的元素.我需要所有实体,有或没有身份属性
如果没有太多属性可以处理,您可以使用以下内容:
Get-Collection | Select-Object id,
username,
@{n='provider';e={$_.identities.provider}},
@{n='extern_uid';e={$_.identities.extern_uid}}
Run Code Online (Sandbox Code Playgroud)
这将返回$null属性provider和extern_uid那些没有identities属性的对象:
id username provider extern_uid
-- -------- -------- ----------
45 EROCHE ldapmain cn=roche\, emilio,ou=xxxxxxxxxx
46 EROCHE
Run Code Online (Sandbox Code Playgroud)
编辑
正如mklement0指出的那样,如果identities属性包含多个对象,则该方法不起作用.
mklement0的答案有一个优雅的解决方案,应该是接受的答案.
| 归档时间: |
|
| 查看次数: |
178 次 |
| 最近记录: |