从 Project 网页版中导出用户数据

本文介绍 Microsoft 365 租户管理员如何从Project 网页版导出特定用户的数据。 然后,管理员可以选择查看用户的数据,并确定他们希望向用户提供哪些数据。 Project 网页版的任务数据与Planner同步,以填充Planner中的用户的“分配给我”视图。 如果只对项目数据感兴趣,可以使用下面提供的步骤从Project 网页版导出数据。 但是,如果还希望导出与这些项目任务关联的特定于Planner的数据,可以通过从 Planner 中的“分配给我”视图导出数据来执行此操作。

Project 网页版数据存储在 Microsoft PowerApps 的 Dataverse 中。 本文介绍如何:

  • 使用 Dynamics 365 中的高级查找函数查看特定用户的Project 网页版数据。
  • 使用 PowerShell 脚本导出有关用户所属的特定项目的数据。

要求

需要满足以下条件才能通过“高级查找”搜索功能查找特定用户的数据:

  • 需要用户的Microsoft Entra对象 ID (Microsoft Entra ID) 。 可以在Microsoft Entra 管理员中心找到它。
  • 你需要是 Microsoft 365 租户中的全局管理员。 需要此权限才能访问Dynamics 365 管理员中心。

如果还想要导出和查看有关特定项目的信息:

  • 你需要是租户管理员。
  • 需要拥有Project 计划 1、Project 计划 3或Project 计划 5许可证。

用于查找用户数据的方法

根据需要查找的用户数据类型,可以在搜索和导出用户数据时采用两种路径。

  • 在 Dataverse 中查找有关用户项目和路线图对象的数据 - 使用Dynamics 365 管理员中心的“高级查找”功能查找 Dataverse (中包含的所有用户数据,例如,与其项目和路线图相关的对象) 。
  • 查找与用户关联的特定项目的数据 - 使用项目导出 PowerShell 脚本获取有关用户关联的特定项目的详细信息。

使用高级查找搜索功能在 Dataverse 中查找用户数据

驻留在 Dataverse 中的Project 网页版用户信息(如路线图、项目对象和属性)位于特定的Dynamics 365解决方案中。 Dynamics 365 管理员中心的高级查找搜索功能可以跨这些解决方案中的实体进行查询,以查找所需的信息。

了解Project 网页版 Dataverse 数据及其驻留位置

在 Dynamics 365 Dataverse 中查找特定用户的Project 网页版数据时,它位于以下五个Dynamics 365解决方案中:

名称 显示名称
PortfolioService
项目组合服务
msdyn_ProjectServiceCore
Project
MicrosoftDynamicsScheduling
通用资源计划
msdynce_SchedulingPatch
计划修补程序
mydynce_Scheduling
计划

可以专门查看这些Dynamics 365解决方案中的任何一个,了解其存在的实体。 了解特定解决方案存在的实体有助于了解查询中要查找的内容。

查看Dynamics 365解决方案的实体:

  1. 在Microsoft 365 管理中心的“管理员中心”下,选择“Dynamics 365”。

  2. 在“Dynamics 365管理中心”中,选择默认实例,然后选择“打开”。

    Dataverse 实例的“打开”按钮的屏幕截图。

  3. 在“Dynamics 365设置”页上,选择“设置”菜单,然后在“自定义”部分选择“解决方案”。

  4. 在“所有解决方案”页上,选择你感兴趣的解决方案的“显示名称”。

    Dataverse 解决方案。

  5. 在解决方案信息页上,展开 “实体” 以查看它们。

    Dataverse 解决方案实体的屏幕截图。

  6. 在每个实体下,可以选择特定对象以获取有关其属性的更多详细信息。

    解决方案实体说明。

使用高级查找搜索用户数据

使用Dynamics 365高级查找搜索查找用户的Project 网页版数据。 高级查找将搜索 Dataverse 实例中的所有解决方案。 然后,可以将结果直接下载到 Excel 电子表格,并确定向用户提供的内容。

  1. 在“Dynamics 365管理中心”中,选择默认实例,然后选择“打开”。

  2. 在“Dynamics 365设置”页上,选择“设置”菜单,然后在“自定义”部分选择“解决方案”。

  3. 选择“ 高级查找 ”按钮。

    “高级查找”按钮的屏幕截图。

  4. 在“高级查找”的“ 查找 ”菜单中,选择要搜索的对象,例如用户的项目或路线图。

    例如,如果要查看用户所属的所有路线图,请选择“ 路线图”。

    “高级查找结果”菜单。

  5. 若要开始生成查询,请选择“ 选择”,然后选择开始搜索用户所属的项目或路线图所需的字段。 需要用户Microsoft Entra ID或帐户名称。

    例如:

    • 若要查找用户拥有的所有路线图,请选择“所有者”字段,然后选择“等于”,然后输入该用户的帐户名称。
    • 若要查找用户创建的所有路线图,请选择“创建者”字段,然后选择“等于”,然后输入该用户的帐户名称。 在高级查找中创建查询。
  6. 完成选择搜索条件后,在功能区中选择“ 编辑列”。

  7. 在“编辑列”页上,选择“ 添加列”,然后选择要包含在查询中的列。 完成后,选择“ 确定”。

  8. 选择“ 结果 ”以运行查询。

  9. 收到结果后,可以将结果导出到 Excel。 为此,请选择“ 导出”,然后选择“ 静态工作表”。

然后,可以查看结果,以确定要向用户提供的数据。

使用导出脚本查看特定项目的详细信息

如果需要查找包含在用户关联的特定项目中的更多详细信息,可以使用 ExportProjectContent PowerShell 脚本获取有关每个项目的详细信息。 使用脚本,可以获取特定项目的以下文件:

  • 项目文件 (。项目的 MPP) 。 将参数 -mppexport $true 添加到 cmdlet,以生成项目计划的.mpp文件。
  • 包含项目详细信息和设置的 XML 文件。

获取感兴趣的项目的项目 ID

在运行脚本之前,需要获取感兴趣的项目的项目 ID。

假设你已使用“高级查找”搜索来查询用户的项目并将其下载到 Excel 文件,则“项目 ID”列是 Excel 电子表格的第一列,但它在默认情况下处于隐藏状态。 取消隐藏第一列可能有点棘手,因此如果需要帮助,请参阅 取消隐藏工作表中的第一行或第一列

取消隐藏电子表格中的列后,查找项目的名称,然后在“项目”列中查找相应的值,以查找该项目的项目 ID。

Dataverse 实例。

运行导出脚本

现在,你已拥有要查看的项目的项目 ID,请使用 ExportProjectContent Windows PowerShell 函数获取详细信息。 ExportProjectUserContent 函数包含在 ProjectExport Windows PowerShell 模块中。

下载项目导出Windows PowerShell模块,首先取消阻止 zip 文件,然后解压缩文件。

注意

解压缩脚本后,在 Windows PowerShell 中运行以下命令以导入模块:

Import-Module -Name ./projectexport

运行 ExportProjectContent 函数:

  1. 在导入模块的 Windows PowerShell 中,运行以下 cmdlet:

    ExportProjectContent -ProjectId (ProjectID of the project) -OutputDirectory (Location to put files) -InstanceId "(Dataverse instance name)"

    运行脚本时,需要配置以下参数:

    参数 说明
    ProjectId
    Dataverse 中项目的 GUID。 在上一部分中,你已了解如何查找此内容。
    OutputDirectory
    放置导出文件的位置。
    InstanceId
    正在使用的Dynamics 365实例的标识符。

    若要查找实例 ID,请执行以下操作:

    1. 在“Dynamics 365管理中心”中,选择默认实例,然后选择“打开”。

      Dataverse 实例的“打开”按钮的屏幕截图。

    2. 在PowerApps设置页上,查看 URL 的第一部分以确定实例 ID 值。 在下图中,实例 ID 值为 https://orgde6d15d8.crm.dynamics.com

      “查找实例唯一名称”的屏幕截图。

    例如,如何运行脚本,如果项目的项目 ID 为 dd065460-02b8-e911-a989-000d3a170e10,则希望输出文件转到 C:\User1Project1,并且 Dataverse 组织实例名称为 https://orgde6d15d8.crm.dynamics.com,则运行脚本如下所示:

    ExportProjectContent -ProjectID dd065460-02b8-e911-a989-000d3a170e10 -OutputDirectory C:\User1Project1 -InstanceId https://orgde6d15d8.crm.dynamics.com"

  2. 脚本完成后,转到指定的 OutputDirectory 位置,查找项目的.json文件。

    3a215ea2-c650-49db-8200-47bd4a7e2278_2023-02-13T21-29-13Z.json

如果有多个项目,请使用其对应的 ProjectID 值为每个项目再次运行脚本。

请注意,你可能会收到多个版本的 .json 文件,称为快照。 这些是项目文件在对其进行更改之前的版本。 快照文件将包含时间戳,用于告知创建时间。 文件的 当前 版本是具有 最早 时间戳的文件,即项目创建日期。

将导出当前为项目存储的所有快照。 可以根据项目的活动程度定期清除快照。

字段定义位于 “导出内容定义”中。

查看和导出项目历史记录

打开 “高级查找 ”工具。 在 “查找 ”菜单中,选择“ 项目历史记录”对象

如果要筛选特定项目,请选择 “选择”,从下拉对话框中选择“ 项目 ”选项,然后添加要查看其“项目历史记录”项的项目。

完成选择搜索条件后,在功能区中选择“ 编辑列”。

“编辑列 ”页上,选择“ 添加列”,然后选择要包含在查询中的列。 完成后,选择“ 确定”。

选择“ 结果 ”以运行查询。

收到结果后,可以将结果导出到 Excel。 为此,请选择“ 导出”,然后选择“ 静态工作表”。

使用 Power Apps 门户 查看随项目历史记录数据一起存储的不同字段的说明。 打开msdyn_ProjectServiceCore_Patch解决方案中的“项目历史记录”表。 “msdyn_project”字段是相关项目的引用。 msdyn_projecttask 是对关联任务 (的引用(如果适用) )。 msdyn_details字段是描述历史记录详细信息的 JSON 对象。 有关msdyn_details中包含的内容的详细信息,请参阅 任务历史记录定义

另请参阅

创建、编辑或保存高级查找搜索

从 Project 网页版中删除用户数据

从 Project Online 中导出用户数据

导出内容定义

任务历史记录定义