了解伺服器陣組管理員如何從 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 中刪除特定使用者資訊的程式概觀:
從 Microsoft 下載中心下載刪除和匯出腳本。
在您的環境中尋找 PWA 網站:尋找 Project Server 伺服器陣列中 Project Web App 實例的清單。
尋找使用者的資源識別碼:在每個 Project Web App 實例上,指定使用者的宣告帳戶來尋找使用者的唯一資源標識符。
執行使用者數據的匯出:此程式會在 從 Project Server 匯出用戶數據中說明。
在 Project 專業版 中,關閉涉及使用者的所有專案:這可確保對使用者具有資訊的所有專案進行變更。
執行 RedactProjectUser PowerShell 腳本:執行腳本以從每個 PWA 網站刪除使用者的資訊。
透過文稿,您可以選擇將使用者的顯示名稱變更為不同的 (例如「已刪除的使用者」) 。 當使用者的數據是共用的,而且您不想要刪除它時,例如專案中指派的擁有者或專案排程的一部分時,這會很有用。
刪除 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 伺服器設定強制檢查專案。
在 [ 伺服器設定] 頁面的 [ 佇列和資料庫管理 ] 區段中,按兩下 [ 強制存回企業物件]。
在 [ 強制存回企業物件 ] 頁面上,從專案清單中選取需要核取之專案旁邊的複選框,然後按兩下 [ 簽入]。
系統會顯示一則訊息,詢問您是否確定要強制簽入。 按兩下 [確定]。
步驟 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 系統管理員必須手動開啟它,並清除包含的任何行事曆例外狀況原因。
在 Project Web App 中,流覽至資源中心。
在資源中心中,選取您要更新的使用者。
在 [ 資源] 索引 標籤的 [ 資源] 區段中,按兩下 [ 開啟]。 如果出現提示,請確認您想要開啟 Project 專業版。
在 Project 專業版 中,按兩下您要更新的使用者。
在 [資源資訊] 對話框中,按兩下 [ 變更工作時間]。
在 [ 變更工作時間 ] 對話框的 [ 例外 狀況] 索引標籤上,選取您要刪除的任何例外狀況,然後按兩下 [ 刪除]。
按一下確定。
在 [ 資源資訊] 對話框中,按兩下 [ 確定]。
在 [ 檔案] 索引標籤 上,按兩下 [ 儲存]。
步驟 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 - 從封存的物件修訂資源資訊
封存的項目數據
針對已修訂資源的專案:
- 在 Project Web App 設定中,選擇 [刪除企業物件]。
- 選擇 [刪除封存的專案]。
- 刪除必要的封存專案。
封存的非項目數據
Project Server 只會保留下列封存項目的單一版本:
- 企業資源集區和行事曆
- 企業自訂欄位
- 企業通用
在 2010) ( 進行新的系統管理備份。 這會以已修訂資源個人資料的版本覆寫舊版。
步驟 10 - 清除連線到 Project Online 實例 Project 專業版 使用者的快取
在 Project 專業版 或 Project Online 桌面用戶端連線到 Project Web App 的所有裝置上,您必須清除快取。 清除快取可防止刪除使用者資訊的專案從保留在系統上的快取數據更新。
若要清除 Project 專業版 中的快取:
選取 [ 檔案] 功能表,然後按下 [ 選項]。
在 [ 項目選項] 頁面上,選取 [ 儲存]。
在 [ 快取] 區段中,選取 [ 清除快取]。