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

Azure AD配置中IsSoftDeleted始终返回null的问题求助

问题

根据微软文档,IsSoftDeleted会在以下任一条件满足时返回true:

  • Azure AD中用户被禁用(accountEnabled = False)
  • 用户在Azure AD中被软删除
  • 用户曾被分配至应用后取消分配,且同步配置设置为“同步已分配的用户和组”
  • 用户曾符合用户属性映射部分的范围筛选条件,现在不再符合

但在配置属性映射时,IsSoftDeleted始终返回null,尝试了多种表达式写法均未得到预期结果:

  • [IsSoftDeleted] → 返回null
  • Not([IsSoftDeleted]) → 返回null
  • Switch([IsSoftDeleted], , "False", "True", "True", "False") → 返回null(未匹配任何值,默认返回null)
  • Switch([IsSoftDeleted], "False", "False", "True", "True", "False") → 返回False(未匹配任何值,默认返回False)
  • Switch([IsSoftDeleted], "True", "False", "True", "True", "False") → 返回True(未匹配任何值,默认返回True)

替换为布尔值(false/true)后结果仍不符合预期,请问如何正确启用IsSoftDeleted功能?

解决方案

1. 确认触发条件与同步范围设置

  • 先确保目标用户满足至少一个IsSoftDeleted的触发条件:比如手动禁用Azure AD用户、软删除用户、取消该用户的应用分配(需同步范围设置为**“同步已分配的用户和组”**),或者用户不再符合预配的范围筛选规则。
  • 检查应用同步范围:若设置为“同步所有用户和组”,用户取消分配不会触发IsSoftDeleted标记,必须切换为“同步已分配的用户和组”才会生效。

2. 修正属性映射的表达式写法

  • IsSoftDeleted是系统生成的布尔类型属性,直接引用即可,无需转换为字符串。正确的Switch表达式应针对布尔值匹配:
    Switch([IsSoftDeleted], true, "True", false, "False", "Null")
    
  • 避免将布尔属性当作字符串值(如"True"/"False")进行匹配,这会导致无法命中分支,返回默认值。

3. 触发完整同步周期

  • 增量同步可能无法更新IsSoftDeleted的状态,需手动触发完整同步:
    1. 进入Azure门户,找到目标企业应用
    2. 进入“预配”页面,点击“重置同步”
    3. 确认重置后,启动一次完整预配任务

4. 检查预配日志验证属性值

  • 查看应用的预配日志,确认IsSoftDeleted是否被正确计算:
    1. 在预配页面点击“查看预配日志”
    2. 搜索目标用户,查看日志中的属性详情,确认是否存在IsSoftDeleted的记录及对应值

5. 确保预配代理为最新版本(本地AD同步场景)

  • 如果是通过Azure AD Connect同步本地AD用户到Azure AD,检查预配代理版本:旧版本可能存在属性计算的bug,更新代理后重新执行同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 16:42:46