使用“and”组合两个有效查询时Azure AD动态组查询出错
解决Azure AD动态组组合查询失效的问题
问题根源
你的组合查询无法运行,主要存在两个问题:
- 正则表达式语法错误:
^[OrderID]:中的[OrderID]是正则字符集,会匹配O、r、d、e、r、I、D中的任意单个字符,而非完整的"OrderID"字符串,导致匹配逻辑不符合预期。 - 语法结构不完整:第二个条件的左括号没有对应的闭合括号,违反了Azure AD动态查询的语法规范。
修正后的有效查询
(device.deviceTrustType -ne "ServerAD") and (device.devicePhysicalIds -any (_ -match "^OrderID:.*_AzureAD_UserDriven$"))
核心修改说明
- 移除正则中的方括号:把
^[OrderID]:改为^OrderID:,确保匹配以完整字符串"OrderID:"开头的设备物理ID - 补全第二个条件的闭合括号,保证整个查询的语法结构合法
验证方法
- 将修正后的查询复制到Azure AD动态组的规则编辑框
- 点击「验证规则」,选择测试设备检查匹配情况
- 保存规则后等待Azure AD自动完成组成员的动态同步
内容的提问来源于stack exchange,提问作者Eddard Stark
相关产品推荐
相关产品推荐

