共用方式為


從 Project Online 匯出使用者資料

您的組織可以從您的Project Online環境中匯出特定使用者的內容。 若要匯出此內容,Office 365全域管理員可以遵循下列步驟:

與您的專案管理員合作

根據您的公司而定,您的Office 365全域系統管理員可能具備管理Office 365管理工作的知識,但對於Project Online系統管理可能知之甚少。 如果是這種情況,建議Office 365全域系統管理員與其 PWA 網站管理員共同作業,以完成這些工作。 例如,Office 365全域系統管理員可能最適合執行 PowerShell 腳本來尋找所有 PWA 網站,但可能需要與 PWA 系統管理員共同作業,以完成其餘步驟,以及取得有關每個 PWA 網站商務規則和設定的協助。

步驟 1 - 下載匯出腳本檔案

您需要針對本文中的程式使用數個 PowerShell 腳本檔案。 本文中參考的腳本檔案包含在Project Online使用者內容匯出和刪除腳本套件中。 將檔案下載並解壓縮至您可以參考的位置。

此套件中包含的部分檔案是用來刪除Project Online中的使用者資料,本文不需要。

解除封鎖您的檔案

您必須「解除封鎖」您在Project Online使用者內容匯出和刪除腳本套件中下載的檔案,才能在 PowerShell 中使用它們。 這是因為根據預設,系統不允許執行從網際網路下載的指令碼。 請執行下列動作來解除封鎖您的檔案:

  1. 在檔案總管中,移至您儲存 zip 檔案的位置。

  2. 以滑鼠右鍵按一下 zip 檔案,然後按一下 [ 屬性]

  3. 在 [ 一般] 索引標籤上,選取 [ 解除封鎖]

    解除封鎖檔案。

  4. 按一下 [確定]。

ZIP 檔案中包含的所有檔案現在都應該是 [解除封鎖]。 您可以檢查 [解除 封鎖 ] 核取方塊選項是否不再出現在檔案的 [屬性] 頁面的 [ 一般 ] 索引標籤中,以在個別檔案中確認這一

注意事項

如果您只能存取解壓縮的檔案,您也可以個別解除封鎖每個檔案。

步驟 2 - 尋找您Office 365環境中的所有Project Web App網站

全域系統管理員必須使用SharePoint Online 管理命令介面來連線到其 SharePoint Online 管理員中心,並執行Get-SPOSite PowerShell Cmdlet,以取得其Office 365環境中每個 PWA 網站的 URL 清單。

注意事項

若要執行 Get-SPOSite PowerShell Cmdlet,您必須是全域管理員或 SharePoint 系統管理員角色。

  1. 在 SharePoint Online 管理命令介面模組中,使用Connect-SPOService Cmdlet 連線到 SharePoint Online 管理員中心:
Connect-SPOService -URL <AdminSiteURL> 

例如:

Connect-SPOService -URL https://contoso-admin.sharepoint.com 
  1. 連線到 SharePoint Online 管理員 中心之後,請使用Get-SPOSite PowerShell Cmdlet 來尋找您Office 365環境中的所有 PWA 網站:
Get-SPOSite | ?{$_.PWAEnabled -eq "Enabled"} | ft -a Url,Owner

成功執行之後,將會顯示您Office 365環境中所有 PWA 網站和網站擁有者的清單。

步驟 3 - 在每個 PWA 網站中尋找使用者的資源識別碼 (選擇性)

注意事項

如果您有使用者的登入帳戶,此步驟是選擇性的。 您需要使用者的 登入帳戶 或每個 PWA 網站的 資源標識 符,才能執行匯出腳本。

如果您想要尋找使用者的資源識別碼,PWA 網站管理員可以在您在上一個步驟中找到的每個 PWA 網站上執行下列動作:

  1. 在 [Project Online伺服器設定] 的[企業資料] 區段中,按一下 [資源中心]

  2. 在 [ 資源中心 ] 頁面的 [ 資源名稱 ] 資料行中,找出使用者的名稱,然後查看該資料列,以查看您是否可以在 [ 唯一標識 符] 資料行中找到值。 此值是使用者的資源識別碼。 例如,在下圖中,您可以看到在 [唯一識別碼] 資料行中列出的 Aaron 接著的 [資源識別碼] 值。

    [唯一識別碼] 資料行中的使用者資源識別碼。

    在某些情況下,可能會自訂您的資料表,因此無法使用 [唯一識別碼] 資料行。 如果是,請選取使用者名稱左邊的核取方塊,然後按一下功能區中 [資源] 索引標籤中的 [編輯],然後移至下一個步驟。

  3. 在特定使用者的 [ 編輯資源 ] 頁面上,移至 [ 系統識別資料 ] 區段,並尋找 針對 GUID列出的值。 GUID 是此 PWA 網站的使用者資源識別碼。

    尋找使用者資源識別碼。

注意事項

如果您有多個 PWA 網站,則每個 PWA 網站都會有相同使用者的不同資源識別碼。 請務必將您為使用者找到的資源識別碼與特定 PWA 網站 URL 配對。

步驟 4 - 從 PWA 網站匯出使用者的資料

接下來,您必須執行ExportProjectUserContent PowerShell 腳本,才能從您Office 365環境中的每個 PWA 網站匯出使用者的資料。 若要執行腳本,您必須確定您和環境符合必要條件,然後執行腳本。

ExportProjectUserContent PowerShell 腳本隨附于Project Online使用者內容匯出和刪除腳本套件

先決條件

  • Project Online的授權:您必須獲指派Project Online 進階版Project Online 專業版授權。

  • Project Online桌面客戶端:您將需要Project Online桌面用戶端,並聯機到Project Online實例。 Project Online桌面用戶端隨附于Project Online 進階版Project Online 專業版授權。

    若要將 Project 用戶端連線到Project Online實例:

  1. 按一下 [ 檔案] 索引 標籤以開啟 Backstage 檢視。 按一下 [資訊],然後按一下 [ 管理 帳戶]。

  2. 在 [Project Web App 帳戶] 對話方塊中,按一下 [新增]

  3. 在 [ 帳戶屬性] 對話方塊的 [帳戶名稱] 方塊中輸入此 帳戶的名稱

  4. 在 [ Project Server URL ] 方塊中,輸入您要連線的 PWA 網站 URL。

  5. 按一下 [確定]

  6. 在 [Project Web App 帳戶] 對話方塊中,選取 [設定為預設值],然後按一下 [確定]

  7. 重新開機 Project,然後登入 PWA 網站。

  • 許可權:若要擁有執行腳本的必要許可權,您必須至少執行下列其中一項:

    • 將您自己新增為執行腳本之 PWA 網站的網站集合管理員。

    • 如果您處於 Project 許可權模式,請獲指派管理使用者和群組,以及Project Online實例上的存取 Project Server Reporting Service許可權。 如果您處於 SharePoint 許可權模式,請擔任全域管理員或 SharePoint 系統管理員角色。

執行 ExportProjectUserContent 腳本

使用 ExportProjectUserContent.ps1 PowerShell 腳本來匯出使用者的資料。

  1. SharePoint Online 管理命令介面中,執行 ExportProjectUserContent 腳本。 執行腳本時,您必須設定下列參數:
   
參數
描述
-Url
PWA 網站的 URL
-ResourceID
使用者的資源識別碼。
-LoginName
使用者的登入名稱。
-OutputDirectory
儲存匯出檔案的位置。
-地區
這個選擇性參數會指定您使用的Office 365環境。 您可以用於此參數的值包括:
預設 值 - 專案公用雲端。
中國 - 加勒特in。
德國 - BlackForest。
ITAR - Office 365 美國 Government。
如果未使用 參數,則會使用預設值 ( 預設 ) 。

您可以藉由指定使用者的資源識別碼或登入名稱,選擇執行腳本。

使用使用者資源識別碼執行 ExportProjectUser 腳本

您可以在 PowerShell 中搭配上述參數使用下列命令:

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

例如,如果您想要從 Costoso PWA1 網站匯出使用者資料, (資源識別碼為 cb5c91cf-fd6b-e711-80d0-00155da4a406 的使用者的網站 URL https://contoso/sites/pwa1) ,並且讓匯出檔案儲存至 c:\pwa1siteOutput,您會輸入:

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

使用使用者登入名稱執行 ExportProjectUser 腳本

您會在 Powershell 中使用下列命令,並搭配上面所列的參數:

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

例如,如果您想要從 Costoso PWA1 網站匯出使用者資料, (登入名稱為 之 AdamB@contoso.onmicrosoft.com 使用者的 https://contoso/sites/pwa1) 網站 URL,並將匯出檔案儲存至 c:\pwa1siteOutput,您會輸入:

.\ExportProjectUserContent.ps1 -Url https://contoso/sites/pwa1 -LoginName AdamB@contoso.onmicrosoft.com -OutputDirectory c:\pwa1siteOutput

成功執行腳本之後,所有匯出的資料都會儲存在您指定的 -OutputDirectory 中。

您收到的一些匯出使用者內容將包含一些 json 格式的檔案,其中包含功能特定的使用者資訊。 例如,Security.json 檔案包含使用者安全性群組、類別和許可權設定的相關資料。 下一節將詳細說明這些功能相關的 json 檔案。 根據預設,當您執行 ExportProjectUserContent 腳本時,會收到所有 27 個功能相關的 json 檔案。 不過,您可以使用 -Options 參數來選取要下載的特定 json 檔案。 包括下列各項:

-Options 值 您收到的 JSON 檔案
全部
所有功能相關的 json 檔案、所有專案特定的 json 檔案,以及所有專案清單檔案。
時程表
Timesheets_Reporting.json、Timesheets_page#.json
針對 Timesheets_page#.json,您會取得每個頁面的檔案。
TaskStatus
Rules.json、TaskStatus_AssignmentsHistory_page#.json、TaskStatus_AssignmentsSaved.json、TaskStatus_AssignmentsSubmitted.json
安全性
Security.json
作品集
BusinessDrivers.json、DriverPrioritizations.json、PortfolioAnalyses.json
StatusReports
StatusReports.json
Engagements
Engagements_page#.json
ResourcePlans
ResourcePlans_page#.json、ReportingResourcePlans.json
專案
DraftProjectList.xml 、PublishedProjectList.xml。 ReportingProjectList
針對使用者所屬的每個專案,您也會收到下列其中一項:
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
UserViewSettings
UserViewSettings.json

如果您想要從 PWA 網站匯出特定功能的使用者資料,使用 -Options 參數會很有説明。 例如,如果您只在公事包分析功能中關注使用者的資料,您可以執行 -Options 參數,其值為公事包:

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

這可讓您匯出三個 json 檔案,其中包含與 BusinessDrivers.json、DriverPrioritizations.json、PortfolioAnalyses.json () 等公事包分析功能相關的使用者資料。

步驟 5 - 檢閱匯出的內容

成功執行 ExportProjectUserContent PowerShell 腳本之後,您在執行命令時所指定的輸出目錄中會有下列輸出:

  • 專案清單檔案 - 您會收到三個.xml檔案,其中提供包含在使用者所屬之專案草稿和已發佈架構中的專案清單。 這表示使用者已參與專案,至少為下列其中一項:

    • 是專案擁有者。

    • 在專案中將工作指派給他或她。

    • 這是專案中工作的指派擁有者。

    • 這是專案中工作的狀態管理員。

      這三個.xml檔案如下:

   
名稱
描述
DraftProjectList.xml
對應至上述條件之 Draft 架構的專案清單。
PublishedProjectList.xml
與上述條件對應之已發佈架構的專案清單。
ReportingProjectList.xml
報表架構中對應至上述條件的專案清單。

這三個.xml檔案的專案清單可能稍有不同。 例如,使用者可以儲存專案,但無法發佈,這表示該專案會出現在DraftProjectList.xml檔案中,但不會出現在PublishedProjectList.xml或ReportingProjectList.xml檔案中。

專案系統管理員可以使用專案清單.xml檔案,提供他們想要分析哪些專案特定匯出檔案的相關資訊,以決定應該與使用者共用多少匯出的內容。

這三個ProjectList.xml檔案都會針對列出的每個專案具有下列屬性:

   
屬性
描述
SiteId
專案所在 PWA 網站的唯一識別碼。
Proj_UID
專案的唯一識別碼。
Proj_Name
專案名稱。
  • 功能相關的檔案 - 針對使用者所屬的每個 PWA 網站,下列功能特定的 .json 檔案會匯出至指定的輸出目錄。 功能特定的檔案會包含使用者資料,因為它與整個 PWA 網站的功能使用有關。 例如,Drivers.json 檔案會包含使用者所建立或擁有之公事包分析商務驅動程式的相關資料。 如果使用者沒有與特定 PWA 網站上功能相關的資料,檔案將不會包含任何資料。

    功能特定的 .json 檔案包括:

名稱 描述
AdminAudit
Project Web App伺服器設定會變更資料。
BusinessDrivers
產品群組分析商務驅動程式資料。
行事曆
企業行事歷數據。
CustomFields
自訂欄位資料。
代表團
委派資料。
DriverPrioritizations
商務驅動程式會排定資料的優先順序。
投入
資源參與資料。
LookupTables
查閱表格資料。
PortfolioAnalysis
公事包會分析資料。
QueueJobs
使用者作業的相關資料會透過佇列服務進行處理。
ReminderEmails
提醒電子郵件資料。
ReportingResource
資源報告資料。
資源
資源資料。
ResourcePlans
資源計劃資料。
規則
規則資料。
安全性
安全性群組、類別和許可權的相關資料。
StatusReports
狀態報表資料。
SubscribedReminders
訂閱提醒資料。
TaskStatus_AssignmentsHistory
狀態指派歷程記錄資料。
TaskStatus_AssignmentsSaved
狀態指派會儲存資料。
TaskStatus_AssignmentsSubmitted
狀態指派會提交資料。
時程表
時程表的相關資料。
Timesheets_Reporting
報告有關時程表的資料。
UnsubscribedAlerts
取消訂閱的警示資料。
UserViewSettings
使用者檢視設定資料。
工作流程
專案工作流程資料。
WorkspaceItems
來自專案網站的 SharePoint 專案相關資料。

某些功能特定的 json 檔案可能會很大,因此為了改善效能,下列 json 檔案會在多個檔案之間繁衍:

  • Engagements.json

  • ResourcePlans.json

  • Timesheets.json

  • TaskStatus_AssignmentHistory.json

    注意事項

    若要深入瞭解每個功能特定 .json 檔案中包含的物件,請參閱匯出json 物件定義Project Online特有的資料一節。

  • 專案特定檔案 - 如果使用者是任何專案的一部分,則每個專案都會將數個個別檔案匯出至輸出目錄。 如果使用者是特定專案的一部分,就會發生這種情況,如下所示:

    • 專案擁有者

    • 在專案中將工作指派給他或她

    • 這是專案中工作的指派擁有者

    • 這是專案中工作的狀態管理員

      專案特定資料與功能相關資料不同,因為資料是單一專案特有的。 功能相關資料可以包含使用者在 PWA 網站中屬於其中之許多專案的使用者資料,但與單一功能有關。

      注意事項

      對於您收到的所有專案特定檔案,它們前面會加上特定專案的專案 名稱。 例如,如果專案具有 Project1的專案名稱,我們將在本節中描述的所有專案特定檔案前面加上 Project1

      針對使用者所屬的每個專案,您會收到下列三組檔案:

      - 來自草稿和已發行資料庫之專案的.xml檔案:

   
名稱
描述
<projectName >_draft.xml
從草稿架構儲存為.xml格式的專案檔。
<projectName >_published.xml
已發行架構中儲存為.xml格式的專案檔。

注意事項

請參閱 專案 XML 資料交換架構參考 ,以瞭解這些檔案中包含的 Project XML 資料。

- 草稿和已發行資料庫中專案的 .mpp 檔案:

   
名稱
描述
<projectName > _draft.mpp
從草稿架構儲存為 Project .mpp 檔案的專案檔。
<projectName > _published.mpp
已發行架構中儲存為 Project .mpp 檔案的專案檔。

注意事項

您可以使用 Project 專業版 2019、Project 專業版 2016 或 Project Online Desktop 用戶端開啟 .mpp 檔案。 不支援將匯出的 .mpp 檔案儲存回Project Online或 Project Server。

- 報告架構中專案的八個 .json 檔案:

名稱 描述
Reporting_AssignmentBaselineTimephased
從報表架構指派專案的基準時段資料。
Reporting_AssignmentTimephased
報表架構中專案的指派時段資料。
Reporting_ProjectBaseline
報表架構中專案的專案基準資料。
Reporting_Tasks
報表架構中專案的專案工作資料。
Reporting_Assignments
從報表架構指派專案的資源資料。
Reporting_Resources
報表架構中專案的資源資料。
Reporting_TaskBaselineTimephased
報表架構中專案的工作基準時段資料。
Reporting_TaskTimephased
報表架構中專案的工作時段資料。

注意事項

若要深入瞭解每個 .json 檔案中包含的物件,請參閱匯出json 物件定義之報告資料一節中的Project 特定使用者資料Project Online。

- 三個 .json 檔案,其中包含來自草稿、已發佈和報告架構的專案中繼資料:

   
名稱
描述
<projectName > _draft.json
草稿架構中的專案中繼資料檔案
<projectName > _published.json
來自已發佈架構的專案中繼資料檔案
<projectName > _reporting.json
來自報表架構的專案中繼資料檔案

注意事項

若要深入瞭解每個 .json 檔案中包含的物件,請參閱匯出json 物件定義Project Online專案特定中繼資料檔案一節。

步驟 6 - 尋找並儲存自訂檢視、自訂篩選、附件和宏

接收匯出的使用者內容之後,您可以使用資料來尋找使用者的自訂檢視、自訂篩選、自訂資料表、附件和宏。 若要尋找這些專案,您必須針對要搜尋的每個專案擁有 MPP 和 XML 檔案。 如需如何執行這項操作的詳細資訊,請參閱在 Project Online 中尋找自訂的使用者專案和 Project Server 使用者匯出資料

主要和插入專案的考慮

如先前所述,匯出腳本只會匯出使用者身為擁有者、具有指派任務、工作分派擁有者,或是工作狀態管理員的專案。 當使用者是插入專案的一部分,而不是主專案時,只會匯出插入的專案。 同樣地,如果使用者只是主專案的一部分,而不是任何插入的專案,則只會匯出主要專案。

儲存使用者所屬的主要專案時,如果出現提示,您就不需要儲存任何相關聯的插入專案。

專案首頁最愛和最近檢視專案的考慮

您只能直接在應用程式記憶體取 Project Home 中使用者最愛和最近檢視之專案的資料。 使用者必須使用其Office 365帳號憑證登入,才能存取其 [專案首頁],並查看列出的專案。

  1. 登入 Office 365。

  2. 在瀏覽器中,流覽至 URL project.microsoft.com 以開啟您的專案首頁。

  3. 在 [專案首頁] 頁面上,擷取 [我的最愛] 和 [最近] 區段中所列專案的螢幕擷取畫面。

    ProjectHome。

另請參閱

Project Online匯出 json 物件定義

從 Project Online 刪除使用者資料