Export user data from Project Online

Your organization can export a specific user's content from your Project Online environment. To export this content, an Office 365 global administrator can follow these steps:

Work with your Project Admins

Depending on your company, your Office 365 global admin might be knowledgeable about managing Office 365 administrative tasks, but may know little about Project Online administration. If this is the case, we recommend that the Office 365 global admin work collaboratively with their PWA site admins to accomplish these tasks. For example, a global admin would probably be best suited to run the PowerShell script to find all PWA sites, but would probably need to work collaboratively with the PWA admin to accomplish the remaining steps and for help regarding business rules and configuration of each PWA site.

Step 1 - Download the export script files

You will need the use of several PowerShell script files for the procedures in this article. The script files referenced in this article are contained in the Project Online User Content Export and Delete script package. Download and unzip the files to a location you can reference.

Some of the files included in this package are used to delete user data in Project Online and will not be needed for this article.

Unblock your files

You will need to "unblock" the files you downloaded in the Project Online User Content Export and Delete script package in order to user them in PowerShell. This is because by default, executing scripts downloaded from the Internet is not allowed. Do the following to unblock your files:

  1. In File Explorer, go to the location where you saved the zip file.

  2. Right click on the zip file, and click Properties.

  3. On the General tab, select Unblock.

    Unblocking the file
  4. Click OK.

All files contained in the zip file should now be Unblocked. You can verify this in the individual files by checking to see if the Unblocked checkbox option no longer appears in the General tab of the file's Properties page.

Note: If you only have access to unzipped files, you can also unblock each file individually.

Step 2 - Find all Project Web App sites in your Office 365 environment

Global admins will need to use the SharePoint Online Management Shell to connect to their SharePoint Online Admin Center and run the Get-SPOSite PowerShell cmdlet to get a listing of URLs for each PWA site in their Office 365 environment.

Note: To run the Get-SPOSite PowerShell cmdlet, you need to be either in a Global admin or SharePoint admin role.

  1. In the SharePoint Online Management Shell module, connect to your SharePoint Online Admin Center with the Connect-SPOService cmdlet:

    Connect-SPOService -URL <AdminSiteURL> 

    For example:

    Connect-SPOService -URL http://contoso-admin.sharepoint.com 
  2. After connecting to your SharePoint Online Admin Center, use the Get-SPOSite PowerShell cmdlet to find all PWA sites in your Office 365 environment:

    Get-SPOSite | ?{$_.PWAEnabled -eq "Enabled"} | ft -a Url,Owner

    After successfully running, a list of all PWA sites and site owners in your Office 365 environment will display.

Step 3 - Find the user's Resource ID in each PWA site (optional)

Note: If you have the user's login account, this step is optional. You will need either the user's login account or Resource ID for each PWA site in order to run the export script.

If you want to find the user's resource ID, PWA site admins can to do the following on each PWA site that you found in the previous step:

  1. In the Project Online Server Settings, in the Enterprise Data section, click Resource Center.

  2. On the Resource Center page, in the Resource Name column, locate the user's name then look in that row to see if you can find a value in the Unique ID column. This value is the user's Resource ID. For example, in the graphic below, you can see Aaron Painter's Resource ID value listed in the Unique ID column.

    User's Resource ID in the Unique ID column

    In some cases, your table may be customized so that the Unique ID column is not available. If so, select the checkbox to the left of the user name and then click Edit located in the Resources tab in the ribbon, and then go to the next step.

  3. On the Edit Resource page for the specific user, go to the System Identification Data section and find the value listed for the GUID. The GUID is the users resource ID for this PWA site.

    Finding a users Resource ID

Note: If you have multiple PWA sites, each PWA site will have a different Resource ID for the same user. Make sure to pair the Resource ID your find for the user with the specific PWA site URL.

Step 4 - Export your user's data from the PWA site

Next, you will need to run the ExportProjectUserContent PowerShell script in order to export your user's data from each PWA site in your Office 365 environment. In order to run the script, you need to make sure you and your environment meet the prerequisites, and then you can run the script.

The ExportProjectUserContent PowerShell script is included with the Project Online User Content Export and Delete script package.

Prerequisites

  • License for Project Online: You need to be assigned a Project Online Premium or Project Online Professional license.

  • Project Online Desktop Client: You will need the Project Online Desktop Client and be connected to the Project Online instance. The Project Online Desktop Client is included with a Project Online Premium or Project Online Professional license.

    To connect your Project client to your Project Online instance:

    1. Click the File tab to open the Backstage view. Click Info, and then click Manage Accounts.

    2. In the Project Web App Accounts dialog box, click Add.

    3. In the Account Properties dialog box, type a name for this account in the Account Name box.

    4. Enter the URL of the PWA site you are connecting to in the Project Server URL box.

    5. Click OK.

    6. In the Project Web App Accounts dialog box, select Set as Default, and then click OK.

    7. Restart Project, and log on to the PWA site.

  • Permissions:   In order to have the required permissions to run the script, you need to do at least one of the following:

    • Add yourself as a site collection admin to the PWA Site for which you are running the script.

    • If you are in Project permission mode, be assigned Manage Users and Groups and the Access Project Server Reporting Service permissions on the Project Online instance. If you are in SharePoint permission mode, be in the Global admin or SharePoint admin role.

Run the ExportProjectUserContent script

Use the ExportProjectUserContent.ps1 PowerShell script to export your user's data.

  1. In the SharePoint Online Management Shell, run the ExportProjectUserContent script. You will need to configure the following parameters when running the script:

    Parameter

    Description

    -URL

    URL of the PWA site

    -ResourceID

    Resource ID of the user.

    -LoginName

    Login name of the user.

    -OutputDirectory

    Location to store the export files.

    -Region

    This optional parameter specifies the Office 365 environment you are using. The values you can use for this parameter include:

    • Default - Project Public Cloud.

    • China - Gallatin.

    • Germany - BlackForest.

    • ITAR - Office 365 United States Government.

    If the parameter is not used, the default value is used ( Default).

    You can choose to run the script either by specifying the user's Resource ID or login Name.

    To run the ExportProjectUser script using the users Resource ID

    You would use the following command in Powershell with the paramaters listed above:

    .\ExportProjectUserContent.ps1 -Url <PwaSiteURL> -ResourceUid <UsersResourceID> -OutputDirectory <LocationToStoreOutput>

    For example, if you want to export user data from the Costoso PWA1 site (site URL of https://contoso/sites/pwa1) for a user with a Resource ID of cb5c91cf-fd6b-e711-80d0-00155da4a406, and have the export files save to c:\pwa1siteOutput, you would enter:

    .\ExportProjectUserContent.ps1 -Url https://contoso/sites/pwa1 -ResourceUid cb5c91cf-fd6b-e711-80d0-00155da4a406 -OutputDirectory c:\pwa1siteOutput

    To run the ExportProjectUser script using the users Login Name

    You would use the following command in Powershell with the paramaters listed above:

    .\ExportProjectUserContent.ps1 -Url <PwaSiteURL> -LoginName <UsersLoginName> -OutputDirectory <LocationToStoreOutput>

    For example, if you want to export user data from the Costoso PWA1 site (site URL of https://contoso/sites/pwa1) for a user with a Login Name of AdamB@contoso.onmicrosoft.com, and have the export files save to c:\pwa1siteOutput, you would enter:

    .\ExportProjectUserContent.ps1 -Url https://contoso/sites/pwa1 -LoginName AdamB@contoso.onmicrosoft.com -OutputDirectory c:\pwa1siteOutput
  2. After the script runs successfully, all exported data will be stored in the -OutputDirectory you specified.

Select specific feature-related user data files to export

Some of the exported user content you receive will include a number of json formatted files that includes feature-specific user information. For example, the Security.json file contains data about the user's security groups, categories, and permissions settings. These feature-related json files are described in more detail in the next section. By default, you will receive all 27 feature-related json files when you run the ExportProjectUserContent script. However, you can use the -Options parameter to select specific json files to download. These include the following:

-Options values

Json files you receive

All

All feature-related json files, all project-specific json files, and all project-list files.

Resources

Resource.json, ReportingResource.json

Timesheets

Timesheets_Reporting.json, Timesheets_page#.json

For the Timesheets_page#.json, you will get file per page.

TaskStatus

Rules.json, TaskStatus_AssignmentsHistory_page#.json, TaskStatus_AssignmentsSaved.json, TaskStatus_AssignmentsSubmitted.json

Security

Security.json

ServerSettings

CustomFields.json, LookupTables.json, Calendars.json, Delegations.json, QueueJobs.json, SubscribedReminders.json, UnsubscribedAlerts.json, ReminderEmails.json, AdminAudit.json

Portfolio

BusinessDrivers.json, DriverPrioritizations.json, PortfolioAnalyses.json

StatusReports

StatusReports.json

Engagements

Engagements_page#.json

ResourcePlans

ResourcePlans_page#.json, ReportingResourcePlans.json

Projects

DraftProjectList.xml , PublishedProjectList.xml. ReportingProjectList

You will also receive one of each of the following for each project that the user was a part of:

Project_projName_draft.json, Project_projName_draft.mpp, Project_projName_draft.xml,

Project_projName_published.json, Project_projName_ published.mpp, Project_projName_ published.xml,

Project_projName_reporting.json, Project_projName_reporting_Tasks, Project_projName_reporting_Assignments, Project_projName_reporting_Resources, Project_projName_reporting_Baselines, Project_projName_reporting_TaskTimephased, Project_projName_reporting_AssignmentTimephased, Project_projName_reporting_TaskBaselineTimephased, Project_projName_reporting_ AssignmentBaselineTimephased

Workflow

Workflow.json

WssItems

WorkspaceItems.json

UserViewSettings

UserViewSettings.json

Using the -Options parameter can be helpful if you want to export user data from the PWA site for specific features. For example, if you are only concerned with your user's data in the Portfolio Analysis feature, you can run the -Options parameter with the value of Portfolio:

.\ExportProjectUserContent.ps1 -Url https://contoso/sites/pwa1 -ResourceUid cb5c91cf-fd6b-e711-80d0-00155da4a406 -OutputDirectory c:\pwa1siteOutput -Options Portfolio

This will allow you to export the three json files that contain your user's data that pertains to the Portfolio Analysis feature (BusinessDrivers.json, DriverPrioritizations.json, PortfolioAnalyses.json).

Step 5 - Review your exported content

After you run the ExportProjectUserContent PowerShell script successfully, you will have the following output in the output directory you specified when running the command:

  • Project list files - You will receive three .xml files that provide a list of projects contained in the Project Draft and Published schemas in which the user was a part of. This means the user was involved in the project as at least one of the following:

    • Was the project owner.

    • Has a task assigned to him or her in the project.

    • Is an assignment owner of a task in the project.

    • Is the status manager of a task in the project.

    These three .xml files are:

    Name

    Description

    DraftProjectList.xml

    List of projects from the Draft schema that corresponds to the conditions above.

    PublishedProjectList.xml

    List of projects from the Published schema that corresponds to the conditions above.

    ReportingProjectList.xml

    List of projects from the Reporting schema that corresponds to the conditions above.

    The list of projects may differ slightly for each of the three .xml files. For example, a user can save the project but not publish, meaning that it will appear in the DraftProjectList.xml file, but not the PublishedProjectList.xml or ReportingProjectList.xml files.

    A project admin can use the Project list .xml files to give them information about which project-specific export files they be interested in analyzing to decide how much of the exported content should be shared with the user.

    All three of the ProjectList.xml files will have the following properties for each project listed:

    Property

    Description

    SiteId

    The unique identifier for the PWA site in which the project exists.

    Proj_UID

    The unique identifier for the project.

    Proj_Name

    Name of the project.

  • Feature-related files - For each PWA site that the user is part of, the following feature-specific .json files will be exported to the specified output directory. The feature-specific files will contain user data as it pertains to the feature use throughout the PWA site. For example, the Drivers.json file will include data about Portfolio Analysis business drivers the user created or owned. If the user has no data relating to the feature on the specific PWA site, the file will contain no data.

    The feature-specific .json files include:

    Name

    Description

    AdminAudit

    Project Web App server settings change data.

    BusinessDrivers

    Portfolio analysis business drivers data.

    Calendars

    Enterprise calendar data.

    CustomFields

    Custom field data.

    Delegations

    Delegation data.

    DriverPrioritizations

    Business driver prioritizations data.

    Engagements

    Resource engagement data.

    LookupTables

    Lookup table data.

    PortfolioAnalysis

    Portfolio analyses data.

    QueueJobs

    Data about user jobs process through the Queue Service.

    ReminderEmails

    Reminder email data.

    ReportingResourcePlans

    Resource reporting data.

    Resource

    Resource data.

    ResourcePlans

    Resource plan data.

    Rules

    Rules data.

    Security

    Data about security groups, categories, and permissions.

    StatusReports

    Status report data.

    SubscribedReminders

    Subscribed reminders data.

    TaskStatus_AssignmentsHistory

    Statusing assignments history data.

    TaskStatus_AssignmentsSaved

    Statusing assignments save data.

    TaskStatus_AssignmentsSubmitted

    Statusing assignments submit data.

    Timesheets

    Data about timesheets.

    Timesheets_Reporting

    Reporting data about timesheets.

    UnsubscribedAlerts

    Unsubscribed alerts data.

    UserViewSettings

    User view settings data.

    Workflow

    Project workflow data.

    WorkspaceItems

    Data about SharePoint items from project sites.

    Certain feature-specific json files have the possibility of being large, so to improve performance, the following json files will spawn across multiple files:

    • Engagements.json

    • ResourcePlans.json

    • Timesheets.json

    • TaskStatus_AssignmentHistory.json

    Note: To learn more about the objects contained in each of the feature-specific .json files, see the Feature-specific data section of Project Online export json object definitions.

  • Project-specific files - If the user is part of any project, then for each of those projects, several individual files will be exported to the output directory. This will happen if the user is part of the specific project as one of the following:

    • The project owner

    • Has a task assigned to him or her in the project

    • Is an assignment owner of a task in the project

    • Is the status manager of a task in the project

    Project-specific data differs from the Feature-related data in that the data is specific to a single project. Feature-related data can include user data across many projects in the PWA site that the user was a part of, but pertaining to a single feature.

    Note: For all project-specific files you receive, they will be prefixed with the specific project's Project Name. For example, if a project has a Project Name of Project1, all project-specific files we describe in this section will be prefixed with Project1.

    For each project the user is a part of, you will received the following three sets of files:

    - An .xml file for the project from the draft and published databases:

    Name

    Description

    <projectName>_draft.xml

    The project file from the draft schema saved as .xml format.

    <projectName>_published.xml

    The project file from the published schema saved as .xml format.

    Note: See the Project XML Data Interchange Scheme Reference to understand the Project XML data contained in these files.

    - An .mpp file for the project from the draft and published databases:

    Name

    Description

    <projectName>_draft.mpp

    The project file from the draft schema saved as a Project .mpp file.

    <projectName>_published.mpp

    The project file from the published schema saved as a Project .mpp file.

    Note: You can open the .mpp file with Project Professional 2016 or the Project Online Desktop client.

    - Eight .json files for the project from the reporting schema:

    Name

    Description

    Project_<projectName>_reporting_AssignmentBaselineTimephased.json

    Assignment Baseline Timephase data for the project from the reporting schema.

    Project_<projectName>_reporting_AssignmentTimephased.json

    Assignment Timephase data for the project from the reporting schema.

    Project_<projectName>_reporting_ProjectBaseline.json

    Project Baseline data for the project from the reporting schema.

    Project_<projectName>_reporting_Tasks.json

    Project tasks data for the project from the reporting schema.

    Project_<projectName>_reporting_Assignments.json

    Assignment resources data for the project from the reporting schema.

    Project_<projectName>_reporting_Resources.json

    Resources data for the project from the reporting schema.

    Project_<projectName>_reporting_TaskBaselineTimephased.json

    Task baseline timephased data for the project from the reporting schema.

    Project_<projectName>_reporting_TaskTimephased.json

    Task timephased data for the project from the reporting schema.

    Note: To learn more about the objects contained in each of the .json files, see the Project-specific data files section of Project Online export json object definitions.

    - Three .json files with the project's metadata from the draft, published, and reporting schemas:

    Name

    Description

    <projectName>_draft.json

    Project metadata file from the Draft schema

    <projectName>_published.json

    Project metadata file from the Published schema

    <projectName>_reporting.json

    Project metadata file from the Reporting schema

    Note: To learn more about the objects contained in each of the .json files, see the Project-specific Metadata files section of Project Online export json object definitions.

Step 6 - Find and save custom views, custom filters, attachments, and macros

After receiving the exported user content, you can use your data to find the user's custom views, custom filters, custom tables, attachments, and macros. To find these, you will need to have the MPP and XML file for each project in which you want to search. For more information on how to do this, see Find customized user items in Project Online and Project Server user export data.

Considerations for master and inserted projects

As noted earlier, the export script will only export projects that the user was a part of as an owner, has an assigned task, is an assignment owner of a task, or is the status manager of a task. When the user is part of an inserted project, but not the master project, only the inserted project will be exported. Similarly, if the user is only part of a master project and not any of the inserted projects, only the master project will be exported.

When saving a master project that a user was a part of, you will not need to save any associated inserted projects if you are prompted.

See Also

Project Online export json object definitions

Delete user data from Project Online

Expand your Office skills
Explore training
Get new features first
Join Office Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×