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

Microsoft Entra ID与Dataverse查找字段协同问题:无法获取用户原始ID

解决Dataverse查找列返回ID与Entra ID不一致的问题

问题根源

从你提供的JSON片段能看到,_new_businessunitrequestedfor_value@Microsoft.Dynamics.CRM.lookuplogicalname的值是new_abcd——这说明你创建的「Requesting For」查找列,关联的是自定义表new_abcd,而非Dataverse内置的systemuser系统用户表(该表与Microsoft Entra ID直接映射)。所以返回的ID是自定义表中记录的GUID,不是你需要的Entra用户ID。

解决步骤

方法一:修改查找列的关联目标(推荐)

  • 进入Dataverse的表设计界面,找到「Requesting For」字段
  • 将其关联的目标表改为系统用户(systemuser),替换原来的自定义表new_abcd
  • 保存修改后,新增记录时返回的_new_businessunitrequestedfor_value就是系统用户的GUID,这个ID和创建者字段里的用户ID一致,且可通过系统用户表的azureactivedirectoryobjectid字段直接获取对应的Entra ID

方法二:通过自定义表关联获取(无法修改字段时用)

如果业务上不能修改查找列的关联目标,就通过自定义表的关联关系追溯:

  1. 在Power Automate中,拿到_new_businessunitrequestedfor_value(自定义表记录ID)后,添加Dataverse的「获取行」动作,目标表选new_abcd,用该ID获取对应记录
  2. 确认自定义表new_abcd中是否有字段关联到systemuser表(比如名为new_systemuserid的查找字段)
  3. 拿到系统用户ID后,再执行一次「获取行」动作,目标表选系统用户,通过系统用户ID提取azureactivedirectoryobjectid字段值,这就是你需要的Entra ID

验证修改效果

修改后,你会看到返回的JSON中,_new_businessunitrequestedfor_value@Microsoft.Dynamics.CRM.lookuplogicalname的值变为systemuser,此时返回的GUID就是正确的系统用户ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:59:58