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

Azure Graph API使用$Filter筛选SSPR数据失效及多条件过滤异常咨询

解决Azure AD Graph API筛选SSPR审计数据失效的问题

我来帮你搞定这个筛选失效的问题,核心坑点在于你写的$filter语法格式不对,导致API没正确解析过滤条件,直接返回了全部审计数据。

问题根源分析

你原来的调用里给整个$filter条件套了单引号('category eq SSPR'),这不符合Azure AD Graph API beta版本的过滤语法规则。另外在PowerShell里,$符号会被当作变量解析,不转义的话也会导致过滤参数失效。

正确的调用格式

1. 单条件筛选SSPR数据

修正后的PowerShell代码应该是这样的:

$url = "https://graph.windows.net/$tenantdomain/activities/audit?api-version=beta&`$filter=category eq 'SSPR'"

关键修正点:

  • 去掉整个过滤条件外层的单引号
  • 给筛选值SSPR单独加上单引号(字符串类型的筛选值必须用单引号包裹)
  • PowerShell中$filter里的$要加反引号`转义,避免被当作变量处理

2. 多条件AND筛选示例

如果要叠加多个过滤条件,比如同时筛选SSPR类别和特定操作,正确格式如下:

$url = "https://graph.windows.net/$tenantdomain/activities/audit?api-version=beta&`$filter=category eq 'SSPR' and activityDisplayName eq 'Reset password'"

注意事项:

  • 逻辑运算符用小写的and(虽然大写可能兼容,但官方规范是小写)
  • 每个字符串类型的筛选值都要单独用单引号包裹
  • 同样要转义$filter里的$符号

额外建议

另外要提醒你,这个是旧版的Azure AD Graph API,微软现在更推荐使用Microsoft Graph API来获取审计数据,比如通过auditLogs/directoryAudits端点获取自助密码重置相关数据,示例如下:

$mgUrl = "https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?`$filter=category eq 'Self-service Password Management'"

Microsoft Graph API的文档更完善,功能也更稳定,后续如果有新需求可以优先考虑切换。

内容的提问来源于stack exchange,提问作者MIMUSH-MSFTE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:26:06