次の方法で共有


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

Microsoft Project for the webは間もなくMicrosoft Plannerになり、現在お客様にロールアウトされています。organizationの新しいPlannerの設定の詳細については、「管理者向けのMicrosoft Planner」を参照してください。

この記事では、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 に格納されます。 この記事では、次の方法について説明します。

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

要件

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

  • ユーザーのMicrosoft Entra オブジェクト ID (Microsoft Entra ID) が必要です。 Microsoft Entra 管理 センターで確認できます。
  • Power Apps 管理 Center と Dataverse 環境への特権にアクセスする必要があります。

特定のプロジェクトの情報をエクスポートして表示するには:

  • プロジェクトを開くには、アクセス権が必要です。
  • M365、Plannerプラン 1、PlannerとProject Plan 3、またはPlannerとProject Plan 5ライセンスが必要です。

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

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

  • Dataverse でユーザーのプロジェクトオブジェクトとロードマップ オブジェクトに関するデータを検索する - Power Apps 管理 Center の高度な検索機能を使用して、Dataverse に含まれるすべてのユーザーのデータ (プロジェクトやロードマップに関連するオブジェクトなど) を検索します。
  • ユーザーが関連付けられた特定のプロジェクトに関するデータを検索 する - プロジェクト エクスポート PowerShell スクリプトを使用して、Dataverse テーブル/列構造に格納されていない、ユーザーが関連付けられた特定のプロジェクトに関する詳細を取得します。

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

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

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

Power Apps Dataverse で特定のユーザーのProject for the web データを探す場合は、次の Power Apps ソリューションにあります。

名前 表示名
PortfolioService
ポートフォリオ サービス
msdyn_ProjectServiceCore
Project
MicrosoftDynamicsScheduling
ユニバーサル リソース スケジューリング
msdynce_SchedulingPatch
パッチのスケジュール設定
mydynce_Scheduling
スケジュール設定

これらの Power Apps ソリューションのいずれかを具体的に確認できます。 新しいエンティティを追加できるため、これらのソリューションを確認します。 構造を理解すると、ユーザー データを検索するテーブルと列を把握できます。

Power Apps ソリューションのエンティティを表示するには:

注:

次の手順では、organizationの既定の環境を確認します。 データを探している場合は、名前付き環境を選択します。

  1. Microsoft 365 管理センターの [管理 センター] で、[Power Platform] を選択します。

  2. Power Platform 管理センターで、-> 環境の管理を選択し、"(既定値)" と表示されている環境を選択し、["...] を選択して、[ 開く] を選択します。

    Dataverse インスタンスのスクリーンショット。 Dataverse インスタンスの [開く] ボタンのスクリーンショット。

  3. 上部の名前 (アプリが既に選択されている場合) を選択し、[Power Platform Environment Settings]\(Power Platform 環境設定\) を選択します

  4. [ カスタマイズ ] セクションで、[ソリューション] を選択 、[すべて] を選択します。

    Dataverse ソリューションのスクリーンショット。

  5. ソリューションを選択して開きます。

  6. [テーブル] を展開します。

  7. テーブルを展開します。

  8. 列を選択します。 列名とそのデータ型が表示されます。

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

  1. Microsoft 365 管理センターの [管理 センター] で、[Power Platform] を選択します。

  2. Power Platform 管理センターで、[管理] を選択します。

  3. [環境] を選択します。

  4. [既定の環境] を見つけます。 環境の名前に "(default)" が含まれています。

  5. ["..." を選択します。を既定の環境の右側に表示します。

  6. [開く]を選択します。

    Dataverse インスタンスのスクリーンショット。 Dataverse インスタンスの [開く] ボタンのスクリーンショット。

  7. 上部の名前を選択し、[Power Platform の環境設定] を選択します

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

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

  9. [詳細検索] で、検索するテーブルを選択します。 [プロジェクト] で [プラン] を選択し、[ロードマップ] で [ロードマップ] を選択します

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

[検索結果の詳細設定] メニューのスクリーンショット。

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

例:

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

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

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

  4. 結果を受け取ったら、[ エンティティ名] のエクスポートを選択して Excel にエクスポートし、[ 静的ワークシート] を選択します。

ユーザーまたはグループが所有するプランとロードマップ

レコードを所有する Microsoft 365 グループの計画やロードマップを見つける必要がある場合があります。 [事前検索] フローを使用して、[ 列の追加] ステップで所有者を追加 します

  • ユーザーが所有しているレコードには、ユーザーの名前が表示されます。

  • Microsoft Dataverse チームが所有しているレコードには、識別子が表示されます。 識別子を選択すると、チームの詳細が表示されます。 "チームの種類" = "Office グループ" の場合は、Microsoft 365 グループであり、Microsoft 365 グループの ID も指定されます。 この情報を使用して、グループの情報を検索できます。

    チーム所有者の詳細のスクリーンショット。

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

ExportProjectContentExport スクリプトを使用して、特定のプロジェクトに含まれる詳細をエクスポートします。 スクリプトを使用すると、特定のプロジェクトの次のファイルを取得できます。

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

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

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

  1. [事前検索] を使用して、関心のあるプロジェクトを見つけます。

  2. Excel ファイルにダウンロードします。

  3. [プロジェクト ID] 列は Excel スプレッドシートの最初の列ですが、既定では非表示になっています。 最初の列の非表示は少し難しい場合があるため、ヘルプが必要な場合は、「 ワークシートの最初の行または列を再表示する」を参照してください。

  4. スプレッドシート内の列を再表示した後、プロジェクトの名前を探し、[プロジェクト] 列で対応する値を探して、プロジェクトのプロジェクト 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 内のプロジェクトの ID。 「 プロジェクトのプロジェクト ID を取得する」を参照してください。
OutputDirectory
エクスポート ファイルが配置される場所。
InstanceId
使用している Power Apps インスタンスの識別子。

インスタンス ID を見つけるには:

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

Dataverse インスタンスの [開く] ボタンのスクリーンショット。

  1. [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`"`
  1. スクリプトが完了したら、指定した 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に含まれる内容の詳細については、「 タスク履歴の定義」を参照してください。

状態レポートの表示とエクスポート

状態レポートは、グループと共有されているプロジェクトでのみ使用できます。

  1. 指示に従います
    • プロジェクト ID を取得するプロジェクトのプロジェクト ID を取得する
    • Export スクリプトを実行 して、インスタンス ID を取得します。
    • グループ情報を取得するためにユーザーまたはグループが所有するプランとロードマップ
  2. Microsoft 365 グループ内の SharePoint フォルダーに移動します。 フォルダー パスは/Microsoft Planner/<Environment URL>_<ProjectID>/Status Reports/<FileName です。ファイル名は>状態レポートの名前と一致します。
  3. 既存のエクスポート コントロールを使用してファイルを表示およびエクスポートする

関連項目

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

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

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

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

タスク履歴の定義