Web 用 Project からユーザー データをエクスポートする
この記事では、Microsoft 365 テナント管理者が特定のユーザーのデータを Project for the web からエクスポートする方法について説明します。 管理者は、ユーザーのデータを表示し、ユーザーが利用できるようにするデータを決定できます。 Project for the Web のタスク データが Planner と同期され、Planner でユーザーの [割り当て済み] ビューが設定されます。 プロジェクト データのみに関心がある場合は、次の手順を使用して Project for the web からエクスポートできます。 ただし、これらのプロジェクト タスクに関連付けられている Planner 固有のデータもエクスポートする場合は、Planner の [割り当て済み] ビューからデータをエクスポートします。
Web データのプロジェクトは、Microsoft PowerApps の Dataverse に格納されます。 この記事では、次の方法について説明します。
- Dynamics 365 の高度な検索機能を使用して、特定のユーザーの 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 でユーザー データを検索する
ロードマップやプロジェクト オブジェクトやプロパティなど、Dataverse に存在する Web ユーザー情報のプロジェクトは、特定の Dynamics 365 ソリューションにあります。 Dynamics 365 管理センターの高度な検索検索機能を使用すると、これらのソリューション内のエンティティ間でクエリを実行して、必要な情報を見つけることができます。
Web Dataverse データの Project とその場所について
Dynamics 365 Dataverse で特定のユーザーの Web データ用プロジェクトを探す場合は、次の 5 つの Dynamics 365 ソリューションに配置されます。
名前 | 表示名 |
---|---|
PortfolioService |
ポートフォリオ サービス |
msdyn_ProjectServiceCore |
Project |
MicrosoftDynamicsScheduling |
ユニバーサル リソース スケジューリング |
msdynce_SchedulingPatch |
パッチのスケジュール設定 |
mydynce_Scheduling |
スケジュール設定 |
これらの Dynamics 365 ソリューションのいずれかを具体的に確認して、そのソリューションに存在するエンティティを把握できます。 特定のソリューションに存在するエンティティを理解すると、クエリで検索する内容を理解するのに役立ちます。
Dynamics 365 ソリューションのエンティティを表示するには:
Microsoft 365 管理センターの [ 管理センター] で、[ Dynamics 365] を選択します。
Dynamics 365 管理センターで、既定のインスタンスを選択し、[ 開く] を選択します。
[Dynamics 365 の設定] ページで、[ 設定] メニューを選択し、[ カスタマイズ ] セクションで [ソリューション] を選択 します。
[すべてのソリューション] ページで、目的のソリューションの [表示名] を選択します。
ソリューション情報ページで、[ エンティティ] を 展開して表示します。
各エンティティの下で、特定のオブジェクトを選択して、そのプロパティの詳細を取得できます。
高度な検索を使用してユーザー データを検索する
Dynamics 365 の高度な検索検索を使用して、ユーザーの Web データの Project を検索します。 Advanced Find は、Dataverse インスタンス内のすべてのソリューションを検索します。 その後、結果を Excel スプレッドシートに直接ダウンロードし、ユーザーに提供する内容を決定できます。
Dynamics 365 管理センターで、既定のインスタンスを選択し、[ 開く] を選択します。
[Dynamics 365 の設定] ページで、[ 設定] メニューを選択し、[ カスタマイズ ] セクションで [ソリューション] を選択 します。
[ 検索の進む ] ボタンを選択します。
[詳細検索] の [ 検索 ] メニューで、ユーザーのプロジェクトやロードマップなど、検索するオブジェクトを選択します。
たとえば、ユーザーが参加していたすべてのロードマップを表示する場合は、[ロードマップ] を選択 します。
クエリの作成を開始するには、[ 選択] を選択し、ユーザーが参加していたプロジェクトまたはロードマップの検索を開始するために必要なフィールドを選択します。 ユーザーには Microsoft Entra ID またはアカウント名が必要です。
例:
- ユーザーが所有するすべてのロードマップを見つけるには、[所有者] フィールドを選択し、[等しい] を選択し、ユーザーのアカウント名を入力します。
- ユーザーによって作成されたすべてのロードマップを見つけるには、[作成者] フィールドを選択し、[等しい] を選択し、ユーザーのアカウント名を入力します。
検索条件の選択が完了したら、リボンで [ 列の編集] を選択します。
[列の編集] ページで、[ 列の追加] を選択し、クエリに含める列を選択します。 完了したら、[ OK] を選択します。
[ 結果] を選択してクエリを実行します。
結果を受け取ったら、Excel にエクスポートできます。 これを行うには、[ エクスポート] を選択し、[ 静的ワークシート] を選択します。
その後、結果を確認して、ユーザーに提供するデータを決定できます。
エクスポート スクリプトを使用して、特定のプロジェクトの詳細を表示する
ユーザーが関連付けられた特定のプロジェクトに含まれている詳細を探す必要がある場合は、ExportProjectContent PowerShell スクリプトを使用して、各プロジェクトの詳細を取得できます。 スクリプトを使用すると、特定のプロジェクトの次のファイルを取得できます。
- プロジェクト ファイル (.MPP) を使用します。 パラメーター -mppexport $true をコマンドレットに追加して、プロジェクト プランの.mpp ファイルを生成します。
- プロジェクトの詳細と設定を含む XML ファイル。
関心のあるプロジェクトのプロジェクト ID を取得する
スクリプトを実行する前に、関心のあるプロジェクトのプロジェクト ID を取得する必要があります。
高度な検索検索を使用してユーザーのプロジェクトを照会し、それらを Excel ファイルにダウンロードしたと仮定すると、プロジェクト ID 列は Excel スプレッドシートの最初の列ですが、既定では非表示になっています。 最初の列の非表示は少し難しい場合があるため、ヘルプが必要な場合は、「 ワークシートの最初の行または列を再表示する」を参照してください。
スプレッドシート内の列を再表示した後、プロジェクトの名前を探し、[プロジェクト] 列で対応する値を探して、プロジェクトのプロジェクト ID を見つけます。
エクスポート スクリプトを実行する
目的のプロジェクトのプロジェクト ID を取得したら、 ExportProjectContent Windows PowerShell 関数を使用して詳細を取得します。 ExportProjectUserContent 関数は、ProjectExport Windows PowerShell モジュールに含まれています。
Project Export Windows PowerShell モジュールをダウンロード し、まず zip ファイルのブロックを解除してから、ファイルを解凍します。
注:
スクリプトを解凍した後、Windows PowerShell で次を実行してモジュールをインポートします。
Import-Module -Name ./projectexport
ExportProjectContent 関数を実行するには:
モジュールをインポートした 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 を見つけるには:
Dynamics 365 管理センターで、既定のインスタンスを選択し、[ 開く] を選択します。
[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"
スクリプトが完了したら、指定した 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に含まれる内容の詳細については、「 タスク履歴の定義」を参照してください。