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

使用PowerShell Graph SDK复杂参数调用Get-MgReportEmailActivityUserDetail报错求助

解决Get-MgReportEmailActivityUserDetail指定时间范围的参数调用问题

直接使用-StartDateTime和-EndDateTime参数即可指定自定义时间范围,核心是要传递ISO 8601格式的日期字符串而非DateTime对象,具体代码如下:

# 将日期转换为Graph API要求的ISO 8601格式字符串
$startDateTime = (Get-Date "12/01/2023").ToString("o")
$endDateTime = (Get-Date "12/31/2023").ToString("o")

# 调用命令获取指定时间范围的报告
Get-MgReportEmailActivityUserDetail -StartDateTime $startDateTime -EndDateTime $endDateTime -OutFile "test.csv"

错误原因解析

  1. 哈希表直接展开报错:
    你传递的是DateTime对象,但该命令的StartDateTime/EndDateTime参数要求ISO 8601格式字符串,类型不匹配导致PowerShell无法正确识别参数,而非参数名称不存在。

  2. -InputObject参数报错:
    -InputObject对应的参数集需要的是符合IGetMgReportEmailActivityUserDetailParameterSet接口的预构建对象,并非简单哈希表,直接传递哈希表会触发参数集歧义,导致命令无法确定使用哪个参数集。

额外注意事项

  • 确保你的Microsoft Graph PowerShell SDK版本为1.0及以上,旧版本可能未支持自定义时间范围的参数。
  • 使用ToString("o")生成的ISO 8601格式包含时区信息,可避免跨时区的日期偏差问题。

内容的提问来源于stack exchange,提问作者UCArchitect

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 16:56:07