Web 用 Project からユーザー データをエクスポートする

この記事では、Microsoft 365 テナント管理者が特定のユーザーのデータをProject for the webからエクスポートする方法について説明します。 管理者は、ユーザーのデータを表示し、ユーザーが利用できるようにするデータを決定できます。 Project for the webからのタスク データが Planner と同期され、ユーザーの [割り当て済み] ビューがPlannerに設定されます。 プロジェクト データのみに関心がある場合は、次の手順を使用してProject for the webからエクスポートできます。 ただし、これらのプロジェクト タスクに関連付けられているPlanner固有のデータもエクスポートする場合は、Plannerの [割り当て済み] ビューからデータをエクスポートします。

Project for the webデータは、Microsoft PowerApps の Dataverse に格納されます。 この記事では、次の方法について説明します。

  • Dynamics 365の Advanced Find 関数を使用して、特定のユーザーのProject for the web データを表示します。
  • PowerShell スクリプトを使用して、ユーザーが参加していた特定のプロジェクトに関するデータをエクスポートします。

要件

高度な検索検索機能を使用して特定のユーザーのデータを検索するには、次のものが必要です。

  • ユーザーのMicrosoft Entra オブジェクト ID (Microsoft Entra ID) が必要です。 Microsoft Entra 管理 センターで確認できます。
  • Microsoft 365 テナントのグローバル管理者である必要があります。 Dynamics 365 管理 センターにアクセスするには、これが必要です。

また、特定のプロジェクトに関する情報をエクスポートして表示する場合:

  • テナント管理者である必要があります。
  • Project Plan 1、Project Plan 3、またはProject Plan 5ライセンスが必要です。

ユーザーのデータを検索するためのメソッド

検索する必要があるユーザー データの種類に応じて、ユーザーのデータの検索とエクスポートに使用できるパスは 2 つあります。

  • Dataverse でユーザーのプロジェクト オブジェクトとロードマップ オブジェクトに関するデータを検索する - Dynamics 365 管理 センターの高度な検索機能を使用して、Dataverse に含まれるすべてのユーザーのデータ (プロジェクトやロードマップに関連するオブジェクトなど) を検索します。
  • ユーザーが関連付けられた特定のプロジェクトに関するデータを検索 する - プロジェクト エクスポート PowerShell スクリプトを使用して、ユーザーが関連付けられた特定のプロジェクトの詳細を取得します。

高度な検索検索機能を使用して Dataverse でユーザー データを検索する

Project for the web Dataverse に存在するユーザー情報 (ロードマップ、プロジェクト オブジェクト、プロパティなど) は、特定のDynamics 365 ソリューションにあります。 Dynamics 365 管理 センターの高度な検索検索機能を使用すると、これらのソリューション内のエンティティ間でクエリを実行して、必要な情報を見つけることができます。

Dataverse データProject for the webとデータが存在する場所について理解する

Dynamics 365 Dataverse で特定のユーザーのProject for the web データを探す場合は、次の 5 つの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 for the webデータを検索します。 Advanced Find は、Dataverse インスタンス内のすべてのソリューションを検索します。 その後、結果を Excel スプレッドシートに直接ダウンロードし、ユーザーに提供する内容を決定できます。

  1. Dynamics 365管理センターで、既定のインスタンスを選択し、[開く] を選択します。

  2. [Dynamics 365設定] ページで、[設定] メニューを選択し、[カスタマイズ] セクションで [ソリューション] を選択します

  3. [ 検索の進む ] ボタンを選択します。

    [詳細検索] ボタンのスクリーンショット。

  4. [詳細検索] の [ 検索 ] メニューで、ユーザーのプロジェクトやロードマップなど、検索するオブジェクトを選択します。

    たとえば、ユーザーが参加していたすべてのロードマップを表示する場合は、[ロードマップ] を選択 します

    [検索結果の詳細設定] メニュー。

  5. クエリの作成を開始するには、[ 選択] を選択し、ユーザーが参加していたプロジェクトまたはロードマップの検索を開始するために必要なフィールドを選択します。 ユーザーには、Microsoft Entra IDまたはアカウント名が必要です。

    以下に例を示します。

    • ユーザーが所有するすべてのロードマップを見つけるには、[所有者] フィールドを選択し、[等しい] を選択し、ユーザーのアカウント名を入力します。
    • ユーザーによって作成されたすべてのロードマップを見つけるには、[作成者] フィールドを選択し、[等しい] を選択し、ユーザーのアカウント名を入力します。 高度な検索でクエリを作成します。
  6. 検索条件の選択が完了したら、リボンで [ 列の編集] を選択します。

  7. [列の編集] ページで、[ 列の追加] を選択し、クエリに含める列を選択します。 完了したら、[ OK] を選択します

  8. [ 結果] を選択してクエリを実行します。

  9. 結果を受け取ったら、Excel にエクスポートできます。 これを行うには、[ エクスポート] を選択し、[ 静的ワークシート] を選択します。

その後、結果を確認して、ユーザーに提供するデータを決定できます。

エクスポート スクリプトを使用して、特定のプロジェクトの詳細を表示する

ユーザーが関連付けられた特定のプロジェクトに含まれている詳細を探す必要がある場合は、ExportProjectContent PowerShell スクリプトを使用して、各プロジェクトの詳細を取得できます。 スクリプトを使用すると、特定のプロジェクトの次のファイルを取得できます。

  • プロジェクト ファイル (.MPP) を使用します。 パラメーター -mppexport $true をコマンドレットに追加して、プロジェクト プランの.mpp ファイルを生成します。
  • プロジェクトの詳細と設定を含む XML ファイル。

関心のあるプロジェクトのプロジェクト ID を取得する

スクリプトを実行する前に、関心のあるプロジェクトのプロジェクト ID を取得する必要があります。

高度な検索検索を使用してユーザーのプロジェクトを照会し、それらを Excel ファイルにダウンロードしたと仮定すると、プロジェクト ID 列は Excel スプレッドシートの最初の列ですが、既定では非表示になっています。 最初の列の非表示は少し難しい場合があるため、ヘルプが必要な場合は、「 ワークシートの最初の行または列を再表示する」を参照してください。

スプレッドシート内の列を再表示した後、プロジェクトの名前を探し、[プロジェクト] 列で対応する値を探して、プロジェクトのプロジェクト ID を見つけます。

Dataverse インスタンス。

エクスポート スクリプトを実行する

目的のプロジェクトのプロジェクト ID を取得したら、ExportProjectContent Windows PowerShell 関数を使用して詳細を取得します。 ExportProjectUserContent 関数は、ProjectExport Windows PowerShell モジュールに含まれています。

Project Export Windows PowerShell モジュールをダウンロードし、まず zip ファイルのブロックを解除してから、ファイルを解凍します。

注:

スクリプトを解凍した後、Windows PowerShellで次を実行してモジュールをインポートします。

Import-Module -Name ./projectexport

ExportProjectContent 関数を実行するには:

  1. モジュールをインポートしたWindows PowerShellで、次のコマンドレットを実行します。

    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 org のインスタンス名を 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 ファイルの複数のバージョンを受け取る場合があることに注意してください。 これらは、プロジェクト ファイルに変更を加える前のバージョンのプロジェクト ファイルです。 スナップショット ファイルには、いつ取得されたかを知らせるタイムスタンプが含まれます。 ファイルの現在のバージョンは、最も古いタイムスタンプを持つファイルです。これはプロジェクトの作成日です。

現在プロジェクトに格納されているすべてのスナップショットがエクスポートされます。 スナップショットは、プロジェクトのアクティブな状態に応じて定期的に消去できます。

フィールド定義は、 コンテンツ定義のエクスポートにあります。

プロジェクト履歴の表示とエクスポート

高度な検索ツールを開きます。 [検索] メニュー 、[ プロジェクト履歴] オブジェクトを選択します。

特定のプロジェクトでフィルター処理する場合は、[ 選択] を選択し、ドロップダウン ダイアログから [ プロジェクト ] オプションを選択し、プロジェクト履歴項目を表示するプロジェクトを追加します。

検索条件の選択が完了したら、リボンで [ 列の編集] を選択します。

[ 列の編集] ページで、[ 列の追加] を選択し、クエリに含める列を選択します。 完了したら、[ OK] を選択します

[ 結果] を選択してクエリを実行します。

結果を受け取ったら、Excel にエクスポートできます。 これを行うには、[ エクスポート] を選択し、[ 静的ワークシート] を選択します。

Power Apps ポータルを使用して、プロジェクト履歴データと共に格納されているさまざまなフィールドの説明を表示します。 msdyn_ProjectServiceCore_Patch ソリューション内の [プロジェクト履歴] テーブルを開きます。 [msdyn_project] フィールドは、関連するプロジェクトへの参照です。 msdyn_projecttask は、関連するタスクへの参照です (該当する場合)。 msdyn_details フィールドは、履歴レコードの詳細を記述する JSON オブジェクトです。 msdyn_detailsに含まれる内容の詳細については、「 タスク履歴の定義」を参照してください。

関連項目

高度な検索検索を作成、編集、または保存する

Web 用 Project からユーザー データを削除する

Project Online からユーザー データをエクスポートする

コンテンツ定義のエクスポート

タスク履歴の定義