共用方式為


從 Project Server 刪除使用者資料

瞭解伺服器陣列管理員如何從 Project Server 環境中刪除特定使用者的資料。 此資訊適用于 Project Server 2016、Project Server 2013 和 Project Server 2010。 若要瞭解如何從 Project Server 2019 公開預覽中刪除使用者資料,請參閱刪除 Project Server 2019 公開預覽中的使用者資料

注意事項

問題和風險會儲存在屬於 SharePoint Server 一部分的專案網站中。 刪除使用者資訊時,最佳做法是 先刪除使用者的 SharePoint Server 資訊,然後再刪除其 Project Server 資訊。

在執行本文中的腳本之前,請確定您已將最新的更新部署到伺服器陣列和Project 專業版用戶端。

刪除了哪些使用者資訊?

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

  • 顯示名稱、語音名稱、GUID - 您可以選擇刪除或重新命名使用者顯示名稱 (如何執行腳本) 的詳細資料。

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

  • 行事曆例外狀況詳細資料 - 例如,如果使用者因為病假或休假而在一月份離開一周,則必須手動刪除例外狀況的名稱。 日期會維持不變。

  • 使用者權限 - 例如,如果使用者與專案伺服器類別、群組/已獲得個別全域許可權相關聯,我們會繼續移除所有關聯。 使用者也會設定為非使用中。

注意事項

在本文的程式中,不會刪除專案作者。

專案網站、問題和風險中包含的使用者個人資訊會儲存在 SharePoint 中,而且不會透過此程式刪除。 您必須 直接從 SharePoint Server 刪除此資料

重要事項

建議您先執行 SharePoint Server 使用者資訊刪除程式,再從 Project Server 刪除相同使用者的資訊。 這可防止 Project Server 問題中的使用者個人資訊,以及如果相關聯的 SharePoint Server 資料仍然存在,就無法更新其風險。

刪除案例

視您的需求而定,此程式可讓您刪除上面所列的使用者個人資訊,但也允許在刪除共用專案中的使用者顯示名稱方面進行一些控制,例如時程表、專案和指派。 您可以執行三個刪除案例:

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

在此案例中,會刪除使用者的所有個人資訊,但使用者的顯示名稱會保持不變。

如果您需要進一步檢閱共用專案 (,例如) 使用者使用中的時程表和專案,您可以選擇此案例。

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

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

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

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

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

如果您需要進一步檢閱使用者顯示為提交者或核准者的時程表記錄,您可以選擇此案例。

程式概觀

以下是在 Project Web App 中刪除特定使用者資訊的程式概觀:

  1. Microsoft 下載中心下載刪除和匯出腳本。

  2. 在您的環境中尋找 PWA 網站:尋找 Project Server 伺服器陣列中Project Web App實例的清單。

  3. 尋找使用者的資源識別碼:在每個Project Web App實例上,指定使用者的宣告帳戶,以尋找使用者的唯一資源識別碼。

  4. 執行使用者資料的導出:此程式會在 從 Project Server 匯出使用者資料中說明。

  5. 在Project 專業版中,關閉涉及使用者的所有專案:這可確保對使用者具有資訊的所有專案進行變更。

  6. 執行 RedactProjectUser PowerShell 腳本:執行腳本以從每個 PWA 網站刪除使用者的資訊。

    透過腳本,您可以選擇將使用者的顯示名稱變更為不同的 (例如「已刪除的使用者」) 。 當使用者的資料是共用的,而且您不想要刪除它時,例如專案中指派的擁有者或專案排程的一部分時,這會很有用。

  7. 刪除Project 專業版使用者的快取:腳本順利完成之後,您必須在每個裝置上刪除快取,其中Project 專業版用來在連線到Project Web App實例時開啟專案。 清除快取可防止使用者資訊在裝置上快取時重新新增至專案。

    重要事項

    建議您先執行 SharePoint Server 使用者資訊刪除程式,再從 Project Server 刪除相同使用者的資訊。 這可防止 Project Server 問題中的使用者個人資訊,以及如果相關聯的 SharePoint Server 資料仍然存在,就無法更新其風險。

針對不同版本的 Project Server 使用腳本

本文適用于 Project Server 2016、Project Server 2013 和 Project Server 2010。 雖然一般程式適用于這三個版本,但有些特定專案可能適用于不同的版本,特別是在執行 SQL 腳本時。 這些會在指示中記下。

步驟 1 - 在 SharePoint Server 伺服器陣列中尋找Project Web App實例

使用 Get-SPProjectWebInstance Cmdlet 搭配下列篩選準則,取得存在於 SharePoint Server 伺服器陣列中 PWA 網站的 URL、網站識別碼和資料庫名稱:

 Get-SPProjectWebInstance | ft -a Url,SiteId,DatabaseName,DatabaseServer

當您在稍後的步驟中刪除使用者的個人資料時,您將需要每個網站的資訊。

例如,在我們的範例 Contoso Project Server 伺服器陣列上執行 Cmdlet 可能會傳回下列三個 PWA 網站:

URL SiteID 資料庫
https://contoso/pwa1
63ed0197-3647-4279-ed5e80855fc7
WSS_Content
https://contoso/pwa2
67fd0727-5279-3321-ef4e90956fc8
WSS_Content
https://contoso/pwa3
63ed0197-3647-4279-eg7e20233fg9
WSS_Content

在 SharePoint Server 2010 伺服器陣列中尋找Project Web App實例

針對 Project Server 2010,您也需要尋找 Project Server PSI 服務應用程式 的服務應用程式識別碼。 使用下列參數執行 Get-ServiceApplication PowerShell Cmdlet 來執行此動作:

Get-SPServiceApplication | ? { $_.TypeName -eq "Project Server PSI Service Application" } | ft -a

這也會傳回 Project Server 服務應用程式的名稱。 然後,您可以使用 Get-SPProjectWebInstance Cmdlet 來傳回四個 Project Server 資料庫的名稱,方法是使用 -ServiceApplication 參數來指定服務應用程式名稱:

Get-SPProjectWebInstance -ServiceApplication "Project Server"  | ft -a Url,PrimaryServer,PublishedDatabase,DraftDatabase,ArchiveDatabase,ReportingServer,ReportingDatabase

您必須能夠參考每個資料庫的資料庫名稱。

注意事項

Project Server 2010 報表資料庫可以位於與其他三個資料庫不同的SQL Server實例上。

步驟 2 - 在每個 PWA 網站上尋找使用者的資源識別碼或宣告帳戶

取得 Project Server 伺服器陣列上所有 PWA 網站的資訊之後,接下來您必須找到要刪除其個人資料之使用者的資源識別碼 (ResID) 或宣告帳戶。 在步驟 1 中探索到的每個 PWA 網站上執行此動作 (,因為每個 PWA 實例) 的 ResID 不同。 當您在稍後的步驟中刪除使用者的個人資料時,您需要使用者的資源識別碼或宣告帳戶。

執行 FindUser201x.sql SQL 腳本來尋找使用者的資源識別碼或宣告帳戶。

注意事項

您必須在 SQL Server Management Studio 中執行 FindUser201x.sql SQL 腳本,而且必須具有伺服器陣列管理員許可權,才能存取適當的資料庫。

在 Project Server 2010 的已發行資料庫上,或在相關 PWA 月臺的資料庫上執行腳本,以供更新版本使用。 在步驟 1 提供的範例結果中,所有三個Project Web App實例的資料庫都會WSS_Content

在腳本中提供下列參數的值:

參數 描述
僅@siteID (Project Server 2016)
您要在其中尋找使用者資源識別碼之網站的 PWA 網站識別碼。 您在步驟 1 中找到 PWA 網站的 PWA 網站識別碼值。
@searchName
Project Server 使用者的顯示名稱。

例如,如果您想要在步驟 1 的範例中找到 Contoso PWA1 網站上 Adam Barr 的 userID,您可以編輯腳本中參數的值,如下所示:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @searchName nvarchar(255) = 'Adam Barr'

腳本會傳回使用者的 [資源名稱]、[資源識別碼]、[電子郵件地址] 和 [宣告帳戶] 值。

在 Project Server 2010 中,如果您想要從Project Web App實例刪除使用者的資訊,但變更時程表記錄以外的所有位置的顯示名稱,腳本也會產生您需要的時程表 GUID。 記下此 GUID 以用於報告和刪除腳本。

步驟 3 - 關閉所有使用者的專案

在下一個步驟中執行刪除腳本之前,您必須確定您 Project Server 環境中的所有使用者專案都已關閉。 這可確保不會覆寫刪除腳本所做的變更。

如有需要,PWA 系統管理員可以透過 PWA 伺服器設定強制檢查項目。

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

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

  3. 系統會顯示一則訊息,詢問您是否確定要強制簽入。 按一下 [確定]。

步驟 4 - 匯出使用者資料

刪除使用者的個人資料之前,您應該知道使用者所屬的所有專案。 這可讓您稍後確認使用者的資料是否已移除,而且您有正確的使用者要刪除。 匯出使用者資料詳述于 從 Project Server 匯出使用者資料中。 請注意,您需要下方步驟 6 的 ExportWorkspaceItemsByDisplayName201x.sql 腳本。

步驟 5 - 刪除工作區專案

工作區專案會儲存在 Project Sites 中,這是 SharePoint Server 的一部分。 您必須先刪除使用者的 SharePoint Server 資訊,才能刪除其 Project Server 資訊。 如果工作區專案中的使用者個人資訊仍存在,這會防止對應的 SharePoint Server 資料更新使用者個人資訊。

工作區專案包括:

  • 問題
  • 風險
  • 交付
  • 連結的檔

步驟 6 - 將工作區專案同步至 Project Server

Sync-ProjectWorkspace201x.ps1腳本會在 Project Server 中建立佇列作業,以執行專案工作區完整同步處理。針對包含您要尋找之使用者的每個專案執行此腳本。 (您需要每個專案的專案識別碼。您可以使用 ExportWorkspaceItemsByDisplayName201x.sql 腳本來擷取 this.) 確認佇列工作已完成 ,再繼續進行其他步驟。

步驟 7 - 開啟資源行事曆,並清除使用者的例外狀況原因

若要從 Project Server 的資源行事曆中移除使用者的個人資料,Project 系統管理員必須手動開啟它,並清除包含的任何行事曆例外狀況原因。

  1. 在Project Web App中,流覽至資源中心。

  2. 在資源中心中,選取您要更新的使用者。

  3. 在 [ 資源] 索引 標籤的 [ 資源] 區段中,按一下 [ 開啟]。 如果出現提示,請確認您想要開啟 Project 專業版。

  4. 在Project 專業版中,按兩下您想要更新的使用者。

  5. 在 [資源資訊] 對話方塊中,按一下 [ 變更工作時間]

  6. 在 [ 變更工作時間 ] 對話方塊的 [ 例外 狀況] 索引標籤上,選取您要刪除的任何例外狀況,然後按一下 [ 刪除]

  7. 按一下 [確定]

  8. 在 [ 資源資訊] 對話方塊中,按一下 [ 確定]

  9. 在 [ 檔案] 索引卷 標上,按一下 [ 儲存]

步驟 8 - 從資源和專案資源資料表中刪除使用者的個人資訊

由於 Project Server 2010 的資料庫結構與更新版本不同,因此程式和腳本不同。 請參閱下方的適當章節以瞭解您的版本。

重要事項

執行此腳本之前,請務必先備份 Project Server 資料庫。 確定已成功刪除使用者的資料之後,您可以刪除備份檔案。

Project Server 2016

執行 RedactUser2016.sql SQL 腳本會從Project Web App實例中移除使用者的個人資料,並可以選擇性地更新使用者的顯示名稱。

使用下列參數執行 RedactUser2016.sql:

參數 描述 附註
@siteID
PWA 實例的月臺識別碼
必要
@resUID
您要刪除個人資料之使用者的資源識別碼
需要 resUID 或 res_claims_account。
@res_claims_account
您要刪除個人資料之使用者的宣告帳戶
需要 resUID 或 res_claims_account。
@res_new_name
提供時,會使用此字串更新資源的使用者名稱。
重要:除非您執行上述案例 2 或 3,否則此值應該是 Null。
選用
@update_timesheet_names
啟用 (值 「1」) 時,時程表記錄中的使用者名稱將會取代為 @res_new_name 提供的字串
若未啟用 (值 「0」) ,使用者名稱會保留在時程表記錄中,但使用者名稱會在時程表中指派新的資源識別碼,讓使用者名稱無法追蹤。
預設為啟用。

案例 1 的範例腳本設定:從Project Web App實例刪除使用者的資訊,但保留顯示名稱

此案例會從Project Web App實例中移除使用者的個人資料,但會讓使用者的顯示名稱保持不變。 如果使用者的顯示名稱位於共用專案中,例如專案中的工作擁有者或時程表中的專案,您可以保留使用者的顯示名稱以供檢閱。

使用使用者的宣告帳戶

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 宣告帳戶,以及我們在步驟 1 中擷取的 PWA 網站識別碼,並在腳本中設定參數,如下所示:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,但顯示名稱除外。

使用使用者的資源識別碼

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,以及我們在步驟 1 中擷取的 PWA 網站識別碼,並在腳本中設定參數,如下所示:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,但顯示名稱除外。

案例 2 的範例腳本設定:從Project Web App實例刪除使用者的資訊,但會在任何地方更新顯示名稱

此案例會從Project Web App實例中移除使用者的個人資料,並將使用者的顯示名稱變更為您選擇 (例如「已刪除的使用者」) 。 使用此方法可將使用者的顯示名稱變更為會讓使用者的身分識別成為匿名的名稱。

成功執行腳本之後,您可以重新執行您在步驟 2 中使用的 FindUser201x.sql 腳本,以確認使用者的顯示名稱是否已變更。

您可以透過宣告帳戶或資源識別碼來指定使用者。

使用使用者的宣告帳戶

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 宣告帳戶,以及我們在步驟 1 中擷取的 PWA 網站識別碼,並在腳本中設定參數,如下所示:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 1

此腳本會移除 Adam Barr 的所有個人資料,並將顯示名稱變更為整個網站中的「已刪除的 https://contoso.sharepoint.com/sites/pwa 使用者」。

使用使用者的資源識別碼

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,以及我們在步驟 1 中擷取的 PWA 網站識別碼,並在腳本中設定參數,如下所示:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 1

此腳本會移除 Adam Barr 的所有個人資料,並將顯示名稱變更為整個網站中的「已刪除的 https://contoso.sharepoint.com/sites/pwa 使用者」。

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

此案例會從Project Web App實例中移除使用者的個人資料,並將使用者的顯示名稱變更為您選擇 (例如「已刪除的使用者」) ,但出現在時程表記錄中的位置除外。

執行腳本之後,您可以重新執行您在步驟 2 中使用的 FindUser201x.sql 腳本,以確認使用者的顯示名稱是否已變更。

請注意,您可以依宣告帳戶或資源識別碼來指定使用者。

使用使用者的宣告帳戶

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 宣告帳戶,以及我們在步驟 1 中擷取的 PWA 網站識別碼,並在腳本中設定參數,如下所示:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 0

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,並將顯示名稱變更為「已刪除的使用者」,但時程表記錄除外。 系統會為時程表記錄中的使用者產生新的資源識別碼,以將它們與「已刪除的 Uer」相關聯的記錄取消連結。

因為帳戶已刪除,所以無法使用使用者的宣告帳戶重新執行腳本。

使用使用者的資源識別碼

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,以及我們在步驟 1 中擷取的 PWA 網站識別碼,並在腳本中設定參數,如下所示:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 0

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,並將顯示名稱變更為「已刪除的使用者」,但時程表記錄除外。 系統會為時程表記錄中的使用者產生新的資源識別碼,以將它們與「已刪除的 Uer」相關聯的記錄取消連結。

Project Server 2013

執行 RedactUser2013.sql SQL 腳本會從Project Web App實例中移除使用者的個人資料,並可以選擇性地更新使用者的顯示名稱。

使用下列參數執行 RedactUser2013.sql:

參數 描述 附註
@resUID 您要刪除個人資料之使用者的資源識別碼 需要 resUID 或 res_claims_account。
@res_claims_account 您要刪除個人資料之使用者的宣告帳戶 需要 resUID 或 res_claims_account。
@res_new_name 提供時,會使用此字串更新資源的使用者名稱。 > [!重要] > 除非您執行上述案例 2 或 3,否則此值應該是 Null。 選用
@update_timesheet_names 啟用 (值 「1」) 時,時程表記錄中的使用者名稱將會取代為 @res_new_name 未啟用 (值為 「0」) 的字串,使用者名稱會保留在時程表記錄中,但使用者名稱會在時程表中指派新的資源識別碼,讓使用者名稱無法追蹤。 預設為啟用。

案例 1 的範例腳本設定:從Project Web App實例刪除使用者的資訊,但保留顯示名稱

此案例會從Project Web App實例中移除使用者的個人資料,但會讓使用者的顯示名稱保持不變。 如果使用者的顯示名稱位於共用專案中,例如專案中的工作擁有者或時程表中的專案,您可以保留使用者的顯示名稱以供檢閱。

使用使用者的宣告帳戶

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 宣告帳戶,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,但顯示名稱除外。

因為帳戶已刪除,所以無法使用使用者的宣告帳戶重新執行腳本。

使用使用者的資源識別碼

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,但顯示名稱除外。

案例 2 的範例腳本設定:從Project Web App實例刪除使用者的資訊,但會在任何地方更新顯示名稱

此案例會從Project Web App實例中移除使用者的個人資料,並將使用者的顯示名稱變更為您選擇 (例如「已刪除的使用者」) 。 使用此方法可將使用者的顯示名稱變更為會讓使用者的身分識別成為匿名的名稱。

成功執行腳本之後,您可以重新執行您在步驟 2 中使用的 FindUser201x.sql 腳本,以確認使用者的顯示名稱是否已變更。

您可以透過宣告帳戶或資源識別碼來指定使用者。

使用使用者的宣告帳戶

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 宣告帳戶,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 1

此腳本會移除 Adam Barr 的所有個人資料,並將顯示名稱變更為整個網站中的「已刪除的 https://contoso.sharepoint.com/sites/pwa 使用者」。

使用使用者的資源識別碼

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 1

此腳本會移除 Adam Barr 的所有個人資料,並將顯示名稱變更為整個網站中的「已刪除的 https://contoso.sharepoint.com/sites/pwa 使用者」。

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

此案例會從Project Web App實例中移除使用者的個人資料,並將使用者的顯示名稱變更為您選擇 (例如「已刪除的使用者」) ,但出現在時程表記錄中的位置除外。

執行腳本之後,您可以重新執行您在步驟 2 中使用的 FindUser201x.sql 腳本,以確認使用者的顯示名稱是否已變更。

請注意,您可以依宣告帳戶或資源識別碼來指定使用者。

使用使用者的宣告帳戶

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 宣告帳戶,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 0

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,並將顯示名稱變更為「已刪除的使用者」,但時程表記錄除外。 系統會為時程表記錄中的使用者產生新的資源識別碼,以將它們與「已刪除的 Uer」相關聯的記錄取消連結。

使用使用者的資源識別碼

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 0

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,並將顯示名稱變更為「已刪除的使用者」,但時程表記錄除外。 系統會為時程表記錄中的使用者產生新的資源識別碼,以將它們與「已刪除的 Uer」相關聯的記錄取消連結。

Project Server 2010

執行 RedactUser-PrimaryDB2010.sql 和 RedactUser-ReportingDB2010.sql SQL 腳本會從Project Web App實例中移除使用者的個人資料,並可以選擇性地更新使用者的顯示名稱。

使用下列參數,為每個使用者執行這兩個腳本:

參數 描述 附註
@resUID 您要刪除個人資料之使用者的資源識別碼 需要 resUID 或 res_claims_account。
@res_new_name 提供時,會使用此字串更新資源的使用者名稱。 > [!重要] > 除非您執行上述案例 2 或 3,否則此值應該是 Null。 選用
@update_timesheet_names 啟用 (值 「1」) 時,時程表記錄中的使用者名稱將會取代為 @res_new_name 未啟用 (值為 「0」) 的字串,使用者名稱會保留在時程表記錄中,但使用者名稱會在時程表中指派新的資源識別碼,讓使用者名稱無法追蹤。 預設為啟用。
@timesheet_new_res_uid 當 時 @update_timesheet_names=0 使用 。 使用 FindUser201x.sql 中的值。 請務必針對主要和報告腳本使用相同的值。

案例 1 的範例腳本設定:從Project Web App實例刪除使用者的資訊,但保留顯示名稱

此案例會從Project Web App實例中移除使用者的個人資料,但會讓使用者的顯示名稱保持不變。 如果使用者的顯示名稱位於共用專案中,例如專案中的工作擁有者或時程表中的專案,您可以保留使用者的顯示名稱以供檢閱。

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1
DECLARE @timesheet_new_res_uid uniqueidentifier = NULL

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,但顯示名稱除外。

案例 2 的範例腳本設定:從Project Web App實例刪除使用者的資訊,但會在任何地方更新顯示名稱

此案例會從Project Web App實例中移除使用者的個人資料,並將使用者的顯示名稱變更為您選擇 (例如「已刪除的使用者」) 。 使用此方法可將使用者的顯示名稱變更為會讓使用者的身分識別成為匿名的名稱。

成功執行腳本之後,您可以重新執行您在步驟 2 中使用的 FindUser201x.sql 腳本,以確認使用者的顯示名稱是否已變更。

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 1
DECLARE @timesheet_new_res_uid uniqueidentifier = NULL

此腳本會移除 Adam Barr 的所有個人資料,並將顯示名稱變更為整個網站中的「已刪除的 https://contoso.sharepoint.com/sites/pwa 使用者」。

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

此案例會從Project Web App實例中移除使用者的個人資料,並將使用者的顯示名稱變更為您選擇 (例如「已刪除的使用者」) ,但出現在時程表記錄中的位置除外。

執行腳本之後,您可以重新執行您在步驟 2 中使用的 FindUser 腳本,以確認使用者的顯示名稱是否已變更。

在此範例中,我們會使用我們在步驟 2 中擷取的 Adam Barr 資源識別碼,並在腳本中設定參數,如下所示:

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 0
DECLARE @timesheet_new_res_uid uniqueidentifier = 'delete-user-data-from-project-server'

腳本會從 https://contoso.sharepoint.com/sites/pwa 網站移除 Adam Barr 的所有個人資料,並將顯示名稱變更為「已刪除的使用者」,但時程表記錄除外。 新的資源識別碼會新增至時程表記錄,以將它們與「已刪除的 Uer」相關聯的記錄取消連結。

步驟 9 - 從封存的物件修訂資源資訊

封存的專案資料

針對已修訂資源的專案:

  1. 在Project Web App設定中,選擇[刪除企業物件]
  2. 選擇 [刪除封存的專案]
  3. 刪除必要的封存專案。

封存的非專案資料

Project Server 只會保留下列封存專案的單一版本:

  • 企業資源集區和行事曆
  • 企業自訂欄位
  • 企業通用

2010) (進行新的系統管理備份。 這會以已修訂資源個人資料的版本覆寫舊版。

步驟 10 - 清除連線到Project Online實例之Project 專業版使用者的快取

在Project 專業版或Project Online桌面用戶端連線到Project Web App的所有裝置上,您必須清除快取。 清除快取可防止刪除使用者資訊的專案從保留在系統上的快取資料更新。

若要清除Project 專業版中的快取:

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

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

  3. 在 [ 快取] 區段中,選取 [ 清除快取]

另請參閱

從 Project Server 匯出使用者資料