如何通过Power Automate动态设置Dataverse的Owner或Created By字段值
Power Automate 动态设置Dataverse记录的Created By和Owner字段(基于Excel用户列表)
一、解决Owner字段赋值问题
直接使用systemusers(xxx@xxx.onmicrosoft.com)表达式无效,因为Dataverse查找字段需要的是用户记录的唯一标识符(GUID),而非邮箱字符串。正确步骤:
- 在流中添加Dataverse的「列出行」动作,目标表选择系统用户(systemusers)。
- 设置筛选条件:根据Excel字段选择,比如
电子邮件 等于 当前Excel行的邮箱列,或全名 等于 当前Excel行的姓名列(优先用邮箱,避免姓名重复)。 - 从返回的系统用户结果中,提取「系统用户」字段的唯一标识符(GUID)。
- 在创建Dataverse记录的动作中,将Owner字段设置为该GUID(需选择「输入自定义值」,再选动态内容里的用户ID)。
二、解决Created By字段赋值问题
Created By是Dataverse系统字段,创建记录时会自动填充为流执行用户,需通过更新记录修改:
- 先正常创建Dataverse记录(此时Created By为流用户)。
- 重复上述「列出行」步骤,获取对应Excel行的系统用户GUID。
- 添加Dataverse的「更新行」动作,选择目标表,用创建动作返回的记录ID定位到刚创建的记录。
- 在更新动作中,将
Created By字段设置为找到的用户GUID。注意:执行此操作需要流用户拥有修改Created By字段的权限,通常需系统管理员角色或自定义权限配置。
注意事项
- 确保Excel中的邮箱/姓名与Dataverse系统用户表数据完全匹配(大小写不敏感,但拼写需准确),否则会无法匹配到用户。
- 若存在匹配失败的情况,可添加分支逻辑,比如跳过该记录或记录错误日志。
内容的提问来源于stack exchange,提问作者JPeter
相关产品推荐
相关产品推荐

