排查 HR 用户更新问题

未按预期处理 Null 值和空值

适用于:

  • Workday 到本地 Active Directory 的用户预配
  • Workday 到 Microsoft Entra 用户预配
  • SAP SuccessFactors 到本地 Active Directory 的用户预配
  • SAP SuccessFactors 到 Microsoft Entra 用户预配
疑难解答 详细信息
问题 你已成功配置入站预配应用。 从 HR 应用获取的值为 null 或为空。 你希望预配服务清除本地 Active Directory/Microsoft Entra ID 中的相应目标属性值。 但操作失败,并出现以下错误消息:InvalidAttributeSyntax-LdapErr: The syntax is invalid. The parameter is incorrect. Error in attribute conversion operation, data 0, v3839
原因 预配服务没有适用于处理 null 值的默认逻辑。 当预配服务从源应用获取空字符串时,它会尝试将值“按原样”传递给目标应用。 在这种情况下,本地 Active Directory 预配连接器当前不支持设置空字符串值,因此会出现上述错误。
分辨率 检查预配日志。 识别目标 Active Directory 中接收 null 值或空字符串值的属性。 更新此类属性的属性映射,以使用表达式映射。 请参阅建议的解决方法。

建议的解决方法

假设映射到 AD 属性 jobTitle 的属性 BusinessTitle 在 Workday 中可能为 null 或为空。

  • 选项 1:使用函数 Switch 检查空值或 null 值,并传递非空文本值。

Switch([BusinessTitle],[BusinessTitle],"","N/A")

  • 选项 2:使用函数 IgnoreFlowIfNullOrEmpty 在发送到本地 Active Directory/Microsoft Entra ID 的有效负载中删除空属性或 null 属性。

    IgnoreFlowIfNullOrEmpty([BusinessTitle])

缺少某些 Workday 属性更新

适用于:

  • Workday 到本地 Active Directory 的用户预配
  • Workday 到 Microsoft Entra 用户预配
疑难解答 详细信息
问题 你已成功配置 Workday 入站预配应用并成功连接到 Workday 租户 URL。 你发现 Workday 中的某些属性更新流发生延迟,或在某些情况下,增量同步期间 Workday 中的属性更改未按预期流过。
原因 增量同步期间,预配应用会查询 Workday 事务日志以了解主辅助角色实体的更改,并且仅处理 Workday 事务日志跟踪的更改。
如果设置中对 Workday 属性所做的更改不会被 Workday 事务日志跟踪,则 Microsoft Entra ID 无法提取该更改。 例如:“LocalReference”Workday 属性是默认属性映射的一部分且具有 XPATH wd:Worker/wd:Worker_Data/wd:Employment_Data/wd:Position_Data/wd:Business_Site_Summary_Data/wd:Local_Reference/wd:ID[@wd:type='Locale_ID']/text()。 此属性是实体“Business_Site_Summary_Data”的组成部分。 Workday 中此属性值的更改将不会显示在 Workday 事务日志中。 因此,增量同步期间,仅当与主辅助角色实体关联的属性在同步间隔期间发生更改时,才会显示此属性的新值。
分辨率 如果你经常发现此行为,且对某些 Workday 属性所做的更改未流过,我们建议定期运行每周或每月完全同步。

未找到属性

适用于:

  • Workday 到本地 Active Directory 的用户预配
  • Workday 到 Microsoft Entra 用户预配
  • Workday 到本地 Active Directory 的用户预配
  • SAP SuccessFactors 到本地 Active Directory 的用户预配
  • 向本地 Active Directory 进行 API 驱动的预配
故障排除 详细信息
问题 收到错误代码:HybridSynchronizationActiveDirectoryCannotFindAttribute
原因 在 Active Directory 架构:属性中未找到属性名称。
分辨率 如果属性最近已添加到 Active Directory,请重启预配代理,因为它会在启动时缓存架构。

extensionAttribute 未工作时的用户匹配

适用于:

  • Workday 到 Microsoft Entra 用户预配
  • SAP SuccessFactors 到 Microsoft Entra 用户预配
疑难解答 详细信息
问题 假设你正在 Microsoft Entra ID 中使用“extensionAttribute3”来存储员工 ID,并将其映射到 Workday“WorkerID”或 SuccessFactors“personIdExternal”属性以进行用户匹配。 此配置会导致预配过程中的匹配步骤会失败。 这会影响用户的创建和更新。
原因 Microsoft Entra ID OnPremisesExtensionAttributes (extensionAttributes1-15) 无法用作匹配属性,因为“Azure AD 图形 API”的 $filter 参数不支持按 extensionAttributes 筛选
分辨率 不要在匹配属性对中使用 Microsoft Entra ID OnPremisesExtensionAttributes (extensionAttributes1-15)。 用户 employeeID。

不支持更新 Microsoft Entra ID 邮件属性

适用于:

  • Workday 到 Microsoft Entra 用户预配
  • SAP SuccessFactors 到 Microsoft Entra 用户预配
  • API 驱动的 Microsoft Entra ID 预配
疑难解答 详细信息
问题 你已经配置了从你的 HR 系统到 Microsoft Entra ID 的邮件属性预配。 对邮件属性的任何更新都不起作用,即使预配日志显示了邮件属性的记录。
原因 Microsoft Entra 的预配连接器仅在创建用户期间支持设置邮件属性。 创建用户后,连接器不支持更新电子邮件地址。
分辨率 若要更新现有用户的邮件属性,请考虑使用 Exchange Online 门户或 PowerShell。

预配 Workday 的“最后一个工作日”字段

适用于:

  • Workday 到本地 Active Directory 的用户预配
  • Workday 到 Microsoft Entra 用户预配
疑难解答 详细信息
问题 你已在预配应用中为 Workday“最后一个工作日”(StatusTerminationLastDayOfWork) 属性配置了属性映射。 但是,“最后一个工作日”更新仅在离职日期生效之后发生,而你希望在离职日期之前获取此“最后一个工作日”。
原因 在 Workday 中,只有在离职日期生效后,才能在员工个人资料中设置“最后一个工作日”字段。 因此,Workday 预配连接器无法在离职日期之前提前获取此日期。
分辨率 在 Workday 中创建一个名为“员工已到最后一个工作日”的预配组。 在 Workday 中添加自动化,以在到达员工的最后一个工作日时将用户分配到此组。 在 Microsoft Entra 预配作业中,添加 Workday XPATH 属性以提取此组分配。
  • 示例:
    `LastDayOfWorkWorkers = wd:Worker/wd:Worker_Data/wd:Account_Provisioning_Data/wd:Provisioning_Group_Assignment_Data[wd:Status='Assigned' and wd:Provisioning_Group=" Workers past Last Day of Work"]/wd:Provisioning_Group/text()`

在 accountDisabled 标志的属性映射逻辑中使用此字段。

  • 示例:
    `Switch([LastDayOfWorkWorkers], Switch([Active], , "1", "False", "0", "True"), 'Workers past Last Day of Work', "True")`

Workday 离职处理延迟

适用于:

  • Workday 到本地 Active Directory 的用户预配
  • Workday 到 Microsoft Entra 用户预配
疑难解答 详细信息
问题 在增量同步期间,在处理位于亚太和澳大利亚/新西兰区域的员工的离职事件时,可能会延迟 12-18 小时。 
原因 Workday 集成系统用户 (ISU) 帐户始终基于太平洋时区检索数据。 连接器当前未实现专用查询来处理特定于时区的离职记录。
分辨率 有两种可能的解决方法:
  1. 按需使用预配来处理特定用户的离职事件。

  2. 在 Workday 中创建一个名为“离职员工”的预配组。 在 Workday 中更新离职业务流程,以在离职发生时将用户分配到此组。 在 Microsoft Entra 预配作业中,添加 Workday XPATH 属性以提取此组分配。

  • 示例:
    `TerminatedWorkers = wd:Worker/wd:Worker_Data/wd:Account_Provisioning_Data/wd:Provisioning_Group_Assignment_Data[wd:Status='Assigned' and wd:Provisioning_Group="Terminated Workers"]/wd:Provisioning_Group/text()`

在 accountDisabled 标志的属性映射逻辑中使用此字段。

  • 示例:
    `Switch([TerminatedWorkers], Switch([Active], , "1", "False", "0", "True"), "Terminated Workers", "True")`

后续步骤