使用PowerShell创建Azure AD访问包年度访问评审遇阻
解决Azure AD权利管理年度访问评审创建失败问题
你遇到的核心问题是将recurrenceType改为"annual"后,未匹配Graph API对日期格式的要求,导致请求被拒绝。以下是修正后的代码及关键说明:
修正后的PowerShell代码
accessReviewSettings = @{ isEnabled = $true recurrenceType = "annual" # 修改为年度周期 reviewerType = "Manager" # 将日期转换为Graph API要求的ISO 8601 UTC标准格式 startDateTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ") durationInDays = 25 # 该值未超过Azure AD访问评审最大允许的365天限制,无需调整 reviewers = @( @{ "@odata.type" = "#microsoft.graph.singleUser" id = $fallbackApprover.Id description = $fallbackApprover.DisplayName isBackup = $true } ) }
关键修改点说明
- 日期格式适配:Graph API要求
startDateTime必须为ISO 8601 UTC格式(如2024-01-01T00:00:00Z),原代码中Get-Date返回的本地日期格式不符合API校验规则,这是导致年度评审创建失败的核心原因。 - 周期参数合法性:
"annual"是Graph API支持的合法周期类型,无需额外配置 recurrence 终止参数(如numberOfOccurrences或endDateTime),默认会持续重复执行评审。
若仍无法创建,可排查以下内容:
- 确认
$fallbackApprover.Id为有效的Azure AD用户ID - 验证当前账号拥有
EntitlementManagement.ReadWrite.All或同等权限
内容的提问来源于stack exchange,提问作者Sudaiv Shetty
相关产品推荐
相关产品推荐

