You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过简单PowerShell命令将MsGraph Cmdlet输出的Id属性与AdditionalProperties哈希表指定键值对格式化输出为表格

解决方案:整合Id与AdditionalProperties为格式化表格

我明白你想要的是把MgGraph Cmdlet返回对象的Id属性,和AdditionalProperties哈希表里的指定键值对整合到一个整洁的表格里,同时也想处理Select -Expand AdditionalProperties后的输出格式问题。这里有几个实用的PowerShell写法,直接就能用:

1. 直接提取Id+指定AdditionalProperties字段为表格

你可以用Select-Object结合计算属性,直接从原对象中同时提取Id和AdditionalProperties里的目标字段,输出就是标准表格格式:

Get-MgUserMemberOf -UserId 6774992b-24c1-4df6-95aa-7edc66bb4d70 | 
  Where {$_.AdditionalProperties['displayName'] -like "BlaBlaBla*"} |
  Select-Object Id,
    @{Name='displayName'; Expression={$_.AdditionalProperties['displayName']}},
    @{Name='mailEnabled'; Expression={$_.AdditionalProperties['mailEnabled']}}

执行后就会得到你想要的输出:

Id                                   displayName           mailEnabled
--                                   -----------           -----------
b11f441c-cbb1-435a-bb0a-ff6aad6143e3 BlaBlaBlaBlaBlaBla    False

如果需要添加更多字段,比如description或者securityEnabled,只需要在Select-Object后面再加一行类似的计算属性即可。

2. 批量处理多个字段(更高效的写法)

如果需要提取的字段比较多,手动写一堆计算属性太麻烦,可以先定义要提取的字段列表,再动态生成计算属性:

# 定义你想要提取的AdditionalProperties字段
$targetFields = 'displayName', 'mailEnabled', 'description', 'securityEnabled'

# 生成计算属性数组
$calculatedProps = $targetFields | ForEach-Object {
  @{Name=$_; Expression={$_.AdditionalProperties[$_]}}
}

# 执行主命令
Get-MgUserMemberOf -UserId 6774992b-24c1-4df6-95aa-7edc66bb4d70 | 
  Where {$_.AdditionalProperties['displayName'] -like "BlaBlaBla*"} |
  Select-Object Id, $calculatedProps

这样以后要调整字段,只需要修改$targetFields数组就行,非常灵活。

3. 处理Select -Expand AdditionalProperties后的输出

当你用Select -Expand AdditionalProperties后,得到的是键值对格式的表格,要转换成横向的标准对象表格,可以把哈希表转换成PSCustomObject:

Get-MgUserMemberOf -UserId 6774992b-24c1-4df6-95aa-7edc66bb4d70 | 
  Where {$_.AdditionalProperties['displayName'] -like "atic.azure.licenzas*"} |
  Select -Expand AdditionalProperties |
  ForEach-Object { [PSCustomObject]$_ } |
  Select displayName, mailEnabled, description, securityIdentifier

执行后就会输出横向的格式化表格,方便查看和后续处理。

这些写法都是PowerShell处理哈希表和自定义输出的常用技巧,完全适配MsGraph的返回结果,你可以根据自己的需求调整字段和筛选条件~

内容的提问来源于stack exchange,提问作者Luis A.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 19:12:44