共用方式為


從 Project Online 刪除使用者資料

Microsoft Project Online 將於 2026 年 9 月淘汰。 如需詳細資訊,請參閱此公告: Microsoft Project Online 即將淘汰:您需要知道的內容

瞭解 SharePoint 系統管理員如何從 Project Online 環境刪除使用者的資訊。

哪些使用者資料會被刪除?

在Project Online中,系統管理員可以使用本文中詳述的步驟來刪除使用者資料,並刪除識別資料 (可用來識別使用者) 的資料,例如:

  • 顯示名稱、拼音名稱、GUID - 您可以選擇刪除或重新命名使用者的顯示名稱。

  • 使用者特定的檢視設定 - 例如,如果使用者在具有資源中心、專案中心、排程網頁元件等檢視的檢視 (上方的檢視設定 (檢視、篩選、群組、資料表、地圖、繪圖) 的檢視設定有自定義 ) ,則會刪除這些設定。

  • 行事曆例外狀況詳細資料 - 例如,如果使用者在 1 月因生病或休假而外出一週,則會移除例外狀況的名稱。 例外的日期將保留。

  • 使用者權限 - 例如,如果使用者與類別、群組相關聯或已獲授與個別全域權限,我們將移除所有關聯。 使用者也會設定為非作用中。

儲存在 SharePoint Online 中的專案網站中包含的使用者資訊,例如問題、風險、交付項目和檔,可能不會透過 Project Online 使用者數據刪除程式刪除,因為其中一些使用者已獲得專案網站的存取權,但不是 PWA 使用者。 您必須透過本文的 步驟 6 - 刪除透過 SharePoint Online 新增的使用者帳戶資訊 一節中的程式來刪除此數據。

重要事項

建議您先執行 SharePoint Online 使用者數據刪除程式,再從 Project Online 刪除相同使用者的資訊。 這可防止與特定 SharePoint Online 專案同步處理的問題 (例如問題或風險) 會覆寫已刪除Project Online中的使用者數據。

這與透過企業物件刪除刪除使用者有何不同?

本文所述的使用者數據刪除程式與透過 PWA 伺服器設定中的 [企業物件刪除] 頁面刪除 PWA 使用者有數個不同:

  • 「企業物件刪除」會將使用者刪除為企業資源。 不過,如果使用者/資源是下列任一,則會封鎖刪除:

    • 專案擁有者

    • 時程表管理員

    • 在時程表管理員清單上

    • 指派擁有者

    • 在資源計劃中

    • 工作流程 Proxy 使用者

  • 透過本文中的步驟刪除使用者資料並不會刪除企業資源。 它會將使用者帳戶變更為停用、移除使用者資料,並可選擇將資源名稱變更為您選擇的名稱 (例如「已刪除的使用者」) 。

刪除案例

視您的需求而定,此程式可讓您刪除上面列出的使用者資料,但也可讓您對刪除共用專案 (例如時程表、專案和工作分派) 中的使用者顯示名稱進行一些控制。 您可以執行三種刪除案例:

案例 1:從 Project Online 刪除使用者的資訊,顯示名稱除外

在此案例中,除了使用者的顯示名稱之外,會刪除所有使用者的資料。

如果您想要知道使用者已完成的工作,例如透過其時程表和工作,您可以選擇此案例。

案例 2:從 Project Online 刪除使用者的資訊,但更新所有位置的顯示名稱

在此案例中,會刪除所有使用者的資訊。 在顯示使用者顯示名稱的所有位置,它都會取代為您選擇的內容,例如「已刪除的使用者」。 使用者的資源識別碼將保留。

如果商務不需要保留使用者顯示名稱,即使在時程表和專案等共用記錄中,您也可以選擇此案例。

案例 3:從 Project Online 刪除使用者的資訊,但更新時程表記錄以外的所有位置的顯示名稱

在此案例中,會刪除所有使用者的資訊,但時程表記錄除外。 您可以選擇將使用者的顯示名稱取代為您選擇的名稱,例如「已刪除的使用者」。 不過,這不會影響時程表記錄,使用者名稱仍會保留。 時程表記錄中的顯示名稱會產生新的資源識別碼,因此無法透過時程表記錄中的資料來識別更新的使用者名稱。

您可以選擇此案例,以進一步檢閱使用者出現的時程表記錄。

流程概觀

以下是系統管理員在其 Project Online 環境中刪除特定使用者資訊所需執行的程式概觀:

  1. 下載您的 PowerShell 腳本:您需要下載並解壓縮本文中所需的 PowerShell 腳本檔案。

  2. 尋找包含使用者資料的 PWA 網站:尋找環境中 Project Web App 網站的清單。

  3. 在每個 PWA 網站上尋找使用者的資源識別碼 (選擇性) :在每個Project Web App網站上,尋找使用者的唯一資源識別碼。 您也可以選擇依登入帳戶 (指定使用者,例如 adambarr@contoso.onmicrosoft..com) 。

  4. 關閉並簽入所有使用者的專案:這需要在執行匯出指令碼之前進行,以確保您的變更不會被覆寫。

  5. 執行使用者數據的匯出:從 Project Online 匯出使用者資訊中說明此選擇性步驟。

  6. 刪除透過 SharePoint Online 新增的使用者帳戶資訊 (選擇性) :只有在您需要刪除非 PWA 使用者帳戶資訊時,才需要此步驟,例如可能已獲得專案網站存取權的使用者。

  7. 從 PWA 網站刪除使用者的資料:執行腳本,從每個 PWA 網站刪除使用者的資訊。

    透過腳本,您可以選擇將使用者的顯示名稱變更為不同的名稱,例如「已刪除的使用者」) (。 這允許您使用戶匿名,同時保持用戶信息顯示的項目相對不變。

  8. 刪除 Project 專業版使用者的快取:腳本成功完成之後,PWA 系統管理員必須刪除每個裝置上的快取,其中 Project 專業版在連線到 Project Online 網站時開啟專案。 清除快取可防止使用者資訊在裝置上快取時重新新增至專案。

與您的專案管理員合作

視您的公司而定,您的 SharePoint 系統管理員可能瞭解如何管理 SharePoint 系統管理工作,但可能對 Project Online 系統管理知之甚少。 如果是這種情況,建議 SharePoint 系統管理員與其 PWA 網站系統管理員共同作業,以完成這些工作。 例如,SharePoint 系統管理員可能最適合執行 PowerShell 腳本來尋找所有 PWA 網站,但可能需要與 PWA 系統管理員共同作業,以完成其餘步驟,並取得每個 PWA 網站商務規則和設定的相關說明。

重要事項

最佳做法是,請務必先備份 Project 資料庫,再從網站刪除使用者資料。 確定成功後,您可以刪除備份。

步驟 1 - 下載刪除腳本檔案

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

步驟 2 - 在 Office 365 環境中尋找 Project Web App 網站

SharePoint 系統管理員必須使用 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 
    

    連線到 SharePoint Online 管理員中心之後,請使用 Get-SPOSites PowerShell Cmdlet 來尋找 Office 365 環境中的所有 PWA 網站:

  2. 連線到 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 Server 設定] 的 [企業數據] 區段中,按兩下 [資源中心]。

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

    使用者的資源 ID 在 [唯一識別碼] 欄中。

    在某些情況下,您的表格可能會自訂,因此無法使用「唯一 ID」欄。 如果是,請選取使用者名稱左側的複選框,然後按一下功能區中 [資源] 索引標籤中的 [編輯],然後移至下一個步驟。

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

    尋找使用者資源 ID。

注意事項

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

步驟 4 - 關閉並簽入所有使用者的專案

在執行匯出腳本之前,您必須確定 PWA 網站上的使用者已關閉並簽入所有使用者的專案。 這將確保刪除指令碼所做的變更不會被覆寫。

如有需要,PWA 系統管理員可以透過 PWA 伺服器設定強制簽入專案。

  1. 在「 伺服器設定 」頁面的「佇列和資料庫管理」區段中,按一下 「強制入庫入庫企業物件」。

  2. [ 強制簽入 Enterprise 物件 ] 頁面上,從專案清單中,選取需要核取之專案旁的核取方塊,然後按一下 ** Check-In **。

  3. 將顯示一條消息,詢問您是否確定要強制簽入。 按一下確定

注意事項

強制簽入使用者正在修改的專案可能會導致遺失這些變更。 強烈建議使用者以一般方式簽入專案,而且只有在絕對必要時才使用強制簽入。

步驟 5 - 將使用者資料匯出 (選用)

在刪除使用者資料之前,您應該知道該使用者所屬的所有專案。 這可讓您稍後驗證使用者的資料是否已移除,因為某些問題可能會阻止刪除,例如專案已簽出 (。您可以透過匯出使用者的資料來查看這些專案。 若要瞭解如何執行此操作,請參閱 從GDPR) 匯出使用者資訊Project Online (

匯出指令碼也會告訴您使用者的任何專案目前是否已簽出,因為在下一個步驟中執行 RedactProjectUser 指令碼之前,必須先簽入這些專案。

如有需要,PWA 系統管理員可以透過 PWA 伺服器設定強制簽入專案。

  1. 在「 伺服器設定 」頁面的 「佇列和資料庫管理 」區段中,按一下 「強制入庫入庫企業物件」。

  2. [強制簽入企業物件 ] 頁面的專案清單中,選取需要核取之專案旁的核取方塊,然後按一下 [簽入]。

  3. 將顯示一條消息,詢問您是否確定要強制簽入。 按一下 確定。

重要事項

如果您強制簽入使用者正在修改的專案,修改內容可能會遺失。

步驟 6 - 刪除透過 SharePoint Online 新增的使用者帳戶資訊

注意事項

如果您也要從 SharePoint Online 刪除使用者數據,建議您在刪除 Project Online 使用者數據之前刪除 SharePoint Online 使用者數據,以防止可能覆寫已刪除內容的同步處理問題。

Office 365環境中沒有 Project Web App (PWA) 帳戶的使用者也可以在Project Online中擁有其名稱和帳戶資訊,並且可能想要將其刪除。 如果使用者將特定 SharePoint 物件新增至專案網站,就會發生這種情況。 專案網站是建立專案時可建立的 SharePoint 共同作業網站。 非 PWA 使用者的 SharePoint 使用者可以獲得這些共同作業網站的存取權。 發生這種情況時,他們的帳戶信息保存可以保存到 PWA。 如果系統管理員要刪除 SharePoint Online 中的使用者數據,他們也應該查看是否需要刪除 Project Online 中的使用者數據,以及如果他們注意到 SharePoint Online 匯出數據中下列任何一項:

  • 與專案網站相關聯的問題

  • 與專案網站相關聯的風險

  • 與專案網站相關聯的文件

  • 與專案網站相關聯的交付項目

如果 SharePoint Online 使用者數據顯示上述任何一項,您也可以執行指定登入帳戶資訊的 RedactProjectUser PowerShell 腳本,從 Project Online 網站刪除使用者帳戶資訊, (因為使用者不會有資源識別碼) :

.\Invoke-RedactProjectUser.ps1 -Url <PWASiteURL> -LoginName <logonName> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $true

例如,從 SharePoint Online 匯出數據中,您發現 Eva Corets (帳戶名稱 evac@contoso.com 為) ,將問題和風險新增至屬於特定 PWA 網站一部分的專案網站 (https://contoso.sharepoint.com/sites/pwa1) 。 執行下列動作會將其帳戶名稱的所有實例更新為特定 PWA 網站上的「已刪除使用者」。

.\Invoke-RedactProjectUser.ps1 -Url https://contoso.sharepoint.com/sites/pwa -LoginName evac@contoso.onmicrosoft.com -UpdateDisplayName "Deleted User" -RedactTimesheet $true

步驟 7 - 從 PWA 網站刪除使用者的數據

SharePoint Online 管理命令介面中執行 RedactProjectUser PowerShell 腳本,以從 PWA 網站移除使用者資料,並選擇性地更新使用者的顯示名稱。

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

注意事項

若要執行 RedactProjectUser 腳本,您必須至少是下列其中一項: > 您執行腳本之 PWA 網站的網站集合系統管理員。 >如果您處於 Project 許可權模式,則會獲指派 Project Online 實例的 [管理使用者和群組] 許可權。 如果您處於 SharePoint 權限模式,請成為 SharePoint 系統管理員。

在 SharePoint Online 管理命令介面中,您將使用 Invoke Cmdlet 來執行 RedactProjectUser 腳本:

Invoke-RedactProjectUser  

叫用 Cmdlet 會使用下列參數:

參數 描述 附註
-網址
Project Online 實例的 URL。
必要
-LoginName
使用者的登入名稱。
需要 LoginName 或 ResourceID。
-資源標識
使用者的資源 GUID。
需要 LoginName 或 ResourceID。
-更新顯示名稱
使用者的新顯示名稱
如果使用,也需要 RedactTimesheet。
-編輯時間表
將變更套用至時程表? ( $true$false )
-區
此選擇性參數會指定您正在使用的 Office 365 環境。 您可以用於此參數的值包括:
預設值 - Project 公有雲。
中國 - 加勒廷。
德國 - 黑森林 .
ITAR - Office 365 美國政府。
如果未使用參數,則會使用預設 值 ( 預設 ) 。

您可以透過下列方式使用 Invoke Cmdlet 和參數:

案例 1:從 Project Online 實例刪除使用者的資訊,但顯示名稱除外

使用此命令會從 PWA 網站移除使用者的數據,顯示名稱除外。 您的組織可能想要保留使用者的顯示名稱,以供日後檢閱,以防該名稱位於共用項目中,例如專案中的工作擁有者或時程表中的項目。

請注意,您可以依登入名稱或資源識別碼來指定使用者。

使用登入名稱

如果您依登入名稱指定使用者,請以下列方式使用 Cmdlet:

.\Invoke-RedactProjectUser.ps1 -Url <PWASiteURL> -LoginName <loginName>

例如,下列專案會移除整個網站中 https://contoso.sharepoint.com/sites/pwa 使用者 * evac@@contoso.onmicrosoft.com * 的所有資料,但使用者的顯示名稱除外

.\Invoke-RedactProjectUser.ps1 -Url https://contoso.sharepoint.com/sites/pwa -LoginName evac@@contoso.onmicrosoft.com

執行此命令時,將顯示一條訊息,要求您確認是否要繼續。

確認且指令碼成功完成之後,會顯示一則訊息,指出: 資源 <使用者顯示名稱> 的所有資料都已移除,但資源名稱除外。

使用資源識別碼

如果您依資源識別碼指定使用者,請以下列方式使用 Cmdlet:

.\Invoke-RedactProjectUser.ps1 -Url <PWASiteURL> -ResourceID <ResourceID>

例如,下列動作會移除整個網站中https://contoso.sharepoint.com/sites/pwa資源識別碼為 0c7cd3fb-a0be-e111-9fte-00155d022d022681 的使用者所有使用者資料,但使用者的顯示名稱除外

.\Invoke-RedactProjectUser.ps1 -Url https://contoso.sharepoint.com/sites/pwa -ResourceId 0c7cd3fb-a0be-e111-9fte-00155d022d022681

執行此命令時,將顯示一條訊息,要求您確認是否要繼續。

確認且指令碼順利完成之後,會顯示一則訊息,指出: 資源 <使用者資源識別碼> 的所有資料都已移除,但資源名稱除外。

案例 2:從 Project Online 實例刪除使用者的資訊,但更新所有位置的顯示名稱

使用此命令會從 Project Online 實例中移除使用者的使用者數據,並將使用者的顯示名稱變更為他們選擇的名稱,而且這也會發生在時程表記錄中。 您的組織可能想要將使用者的顯示名稱變更為可讓使用者身分識別匿名的名稱,例如「已刪除的使用者」。

請注意,您可以依登入名稱或資源識別碼來指定使用者。

使用登入名稱

如果您依登入名稱指定使用者,請以下列方式使用 Cmdlet:

.\Invoke-RedactProjectUser.ps1 -Url <PWASiteURL> -LoginName <logonName> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $true

例如,以下內容將刪除所有用戶數據evac@contoso.onmicrosoft.com,並將他的顯示名稱更改為整個站點的https://contoso.sharepoint.com/sites/pwa“已刪除用戶”。

.\Invoke-RedactProjectUser.ps1 -Url https://contoso.sharepoint.com/sites/pwa -LoginName evac@contoso.onmicrosoft.com -UpdateDisplayName "Deleted User" -RedactTimesheet $true

執行此命令時,將顯示一條訊息,要求您確認是否要繼續。

確認且指令碼成功完成之後,會顯示一則訊息,指出: 資源 <使用者登入名稱> 的所有資料都已移除,且資源名稱已變更為 <所有位置的更新顯示名稱> ,包括時程表記錄。

使用資源識別碼

如果您依資源識別碼指定使用者,請以下列方式使用 Cmdlet:

.\Invoke-RedactProjectUser.ps1 -Url <PWASiteURL> -ResourceID <ResourceID> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $true

例如,以下將刪除資源 ID 為 0c7cd3fb-a0be-e111-9fte-00155d022d022681 的使用者的所有使用者數據,並將整個網站的https://contoso.sharepoint.com/sites/pwa顯示名稱變更為「已刪除的使用者」。

.\Invoke-RedactProjectUser.ps1 -Url https://contoso.sharepoint.com/sites/pwa -ResourceId 0c7cd3fb-a0be-e111-9fte-00155d022d022681 -UpdateDisplayName "Deleted User" -RedactTimesheet $true

執行此命令時,將顯示一條訊息,要求您確認是否要繼續。

確認且指令碼成功完成之後,會顯示一則訊息,指出: 資源 <使用者資源識別碼> 的所有資料都已移除,且資源名稱已變更為 <所有位置的更新顯示名稱> ,包括時程表記錄。

案例 3:從 Project Web App 網站刪除使用者的資訊,但變更時程表記錄以外的所有位置的顯示名稱

使用此命令會從 Project Web App 網站移除使用者的資料,並將使用者的顯示名稱變更為您指定的名稱,但這不會發生在時程表記錄中。 您的組織稍後可能會想要分析他們是否有業務原因,要在其時程表記錄中保留使用者顯示名稱。

請注意,您可以依登入名稱或資源識別碼來指定使用者。

使用登入名稱

如果您依登入名稱指定使用者,請以下列方式使用 Cmdlet:

.\Invoke-RedactProjectUser.ps1 -Url <PWASiteURL> -LoginName <logonName> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $false

例如,以下內容將刪除整個網站的所有https://contoso.sharepoint.com/sites/pwa數據evac@contoso.onmicrosoft.com,並將他的顯示名稱更改為“已刪除的用戶”,但時間表記錄中除外。

.\Invoke-RedactProjectUser.ps1 -Url https://contoso.sharepoint.com/sites/pwa -LoginName evac@contoso.onmicrosoft.com -UpdateDisplayName "Deleted User" -RedactTimesheet $false

執行此命令時,將顯示一條訊息,要求您確認是否要繼續。

在您確認且指令碼成功完成之後,將會顯示一則訊息,指出: 在您確認且指令碼成功完成之後,將會顯示一則訊息,指出:資源 <使用者資源識別碼> 的所有資料都已移除,且資源名稱已變更為 <更新的顯示名稱> ,但時程表記錄除外。

使用資源識別碼

如果您依資源識別碼指定使用者,請以下列方式使用 Cmdlet:

.\Invoke-RedactProjectUser.ps1 -Url <PWASiteURL> -ResourceID <ResourceID> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $false

例如,下列專案會移除資源識別碼為 0c7cd3fb-a0be-e111-9fte-00155d022d022681 之使用者的所有個人資料,並將整個網站的 https://contoso.sharepoint.com/sites/pwa 顯示名稱變更為「已刪除的使用者」,但時程表記錄除外。

.\Invoke-RedactProjectUser.ps1 -Url https://contoso.sharepoint.com/sites/pwa -ResourceId 0c7cd3fb-a0be-e111-9fte-00155d022d022681 -UpdateDisplayName "Deleted User" -RedactTimesheet $false

執行此命令時,將顯示一條訊息,要求您確認是否要繼續。

確認且指令碼成功完成之後,將顯示一則訊息,指出:資源 <使用者登入名稱> 的所有資料都已移除,且資源名稱已變更為 <更新的顯示名稱> ,但時程表記錄除外。

步驟 8 - 清除連線到 PWA 網站的 Project 用戶端使用者的快取

在 Project 專業版或 Project Online 桌面用戶端連線到 Project Online 執行個體的所有裝置上,IT 系統管理員必須清除快取。 清除快取可防止從系統上保留的快取資料中更新已刪除使用者資訊的專案。 在清除快取之前,您還需要確保用戶端上沒有開啟任何使用者的專案。

若要清除 Project 專業版 2016 和 Project Online 桌面用戶端中的快取:

  1. 選取 [檔案] 功能表,然後按一下 [選項]。

  2. [專案選項] 頁面上,選取 [儲存]。

  3. 快取 區段中,選取清除 快取

另請參閱

從 Project Online 匯出使用者資料

Project Online 匯出 json 物件定義