PowerShell - 如何获取嵌套数组的键值
PowerShell - How to get key values of a nested array
我正在使用新的 MS Graph PowerShell cmd,并尝试使用 cmd Get-MgApplicationOwner
获取分配为 Azure AD 应用程序注册所有者的所有用户的列表
Get-MgApplicationOwner -ApplicationId $appObjectId
这给了我如下结果,有 2 个用户所有者
Id
DeletedDateTime
AdditionalProperties
00000000-0000-0000-0000-000000000000
--
{[@odata.type, #microsoft.graph.user], [businessPhones, System.Object[]], [displayName, User1 LastName], [givenName, User1]...}
00000000-0000-0000-1111-000000000000
--
{[@odata.type, #microsoft.graph.user], [businessPhones, System.Object[]], [displayName, User2], [userPrincipalName, User2@domain.com]}
如果我这样做 (Get-MgApplicationOwner -ApplicationId $appObjectId).AdditionalProperties
,我可以看到 2 个用户的所有属性为 1 table
Key
Value
@odata,type
"#microsoft,graph,user"
businessPhones
{1234567890}
displayName
User1 LastName
givenName
User1
mail
User1@domain.com
surname
LastName
userPrincipalName
User1@domain.com
@odata,type
#microsoft,graph,user
businessPhones
{}
displayName
User2
userPrincipalName
User2@domain.com
我正在尝试从这个 AdditionalProperties
数组中获取 UserPrincipalNames
,并且
我试过点符号 (Get-MgApplicationOwner -ApplicationId $appObjectId).AdditionalProperties.UserPrincipalName
但没有运气。我知道我可以对每个 Id 进行查找,但不想
期望输出为数组
User1@domain.com
User2@domain.com
其实我发现答案是关键值是case-sensitive。 dot-notation 和 SantiagoSquarzon 的解决方案在使用 case-correct userPrincipalName
时都有效
我正在使用新的 MS Graph PowerShell cmd,并尝试使用 cmd Get-MgApplicationOwner
Get-MgApplicationOwner -ApplicationId $appObjectId
这给了我如下结果,有 2 个用户所有者
Id | DeletedDateTime | AdditionalProperties |
---|---|---|
00000000-0000-0000-0000-000000000000 | -- | {[@odata.type, #microsoft.graph.user], [businessPhones, System.Object[]], [displayName, User1 LastName], [givenName, User1]...} |
00000000-0000-0000-1111-000000000000 | -- | {[@odata.type, #microsoft.graph.user], [businessPhones, System.Object[]], [displayName, User2], [userPrincipalName, User2@domain.com]} |
如果我这样做 (Get-MgApplicationOwner -ApplicationId $appObjectId).AdditionalProperties
,我可以看到 2 个用户的所有属性为 1 table
Key | Value |
---|---|
@odata,type | "#microsoft,graph,user" |
businessPhones | {1234567890} |
displayName | User1 LastName |
givenName | User1 |
User1@domain.com | |
surname | LastName |
userPrincipalName | User1@domain.com |
@odata,type | #microsoft,graph,user |
businessPhones | {} |
displayName | User2 |
userPrincipalName | User2@domain.com |
我正在尝试从这个 AdditionalProperties
数组中获取 UserPrincipalNames
,并且
我试过点符号 (Get-MgApplicationOwner -ApplicationId $appObjectId).AdditionalProperties.UserPrincipalName
但没有运气。我知道我可以对每个 Id 进行查找,但不想
期望输出为数组
User1@domain.com
User2@domain.com
其实我发现答案是关键值是case-sensitive。 dot-notation 和 SantiagoSquarzon 的解决方案在使用 case-correct userPrincipalName