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 Professionalクライアントに最新の更新プログラムをデプロイしていることを確認してください。

削除されるユーザー情報

Project Server では、管理者は、この記事で詳しく説明されている手順を使用して、ユーザーの個人データと個人識別データ (ユーザーを識別するために使用できるデータ) を削除できます。

  • 表示名、ふりがな名、GUID - ユーザーの表示名 (スクリプトの実行方法の詳細) を削除または名前変更することができます。

  • ユーザー固有のビュー設定 - たとえば、ユーザーがビュー (リソース センター、プロジェクト センター、Web パーツのスケジュールなど) を含むグリッド ページの上にビュー設定 (ビュー、フィルター、グループ、テーブル、マップ、図面、レポート) をカスタマイズしている場合、これらは削除されます。

  • 予定表の例外の詳細 - たとえば、ユーザーが病気や休暇中のため 1 月に 1 週間外出していた場合は、例外の名前を手動で削除する必要があります。 日付は変わりません。

  • ユーザーのアクセス許可 - たとえば、ユーザーがプロジェクト サーバー カテゴリに関連付けられている場合、グループ/ に個々のグローバル アクセス許可が付与されている場合は、先に進み、すべての関連付けを削除します。 また、ユーザーは非アクティブとして設定されます。

注:

プロジェクト作成者は、この記事の手順の一部として削除されません。

プロジェクト サイト、問題、およびリスクに含まれるユーザーの個人情報は SharePoint に格納され、このプロセスを通じて削除されません。 このデータは SharePoint Server から直接削除する必要があります。

重要

同じユーザーの情報を Project Server から削除する前に、SharePoint Server ユーザー情報の削除プロセスを実行することをお勧めします。 これにより、Project Server の問題やリスクに関するユーザーの個人情報が、対応する SharePoint Server データによって更新されるのを防ぐことができます。これらのデータがまだ存在する場合。

シナリオを削除する

このプロセスでは、ニーズに応じて、上記のユーザーの個人情報を削除できますが、タイムシート、プロジェクト、割り当てなど、共有アイテム内のユーザーの表示名の削除に関する制御も可能になります。 次の 3 つの削除シナリオを実行できます。

シナリオ 1: 表示名を除くProject Web App インスタンスからユーザーの情報を削除する

このシナリオでは、すべてのユーザーの個人情報が削除されますが、ユーザーの表示名はそのまま残ります。

ユーザーがアクティブだった共有アイテム (タイムシートやプロジェクトなど) をさらに確認する必要がある場合は、このシナリオを選択できます。

シナリオ 2: Project Web App インスタンスからユーザーの情報を削除するが、表示名はどこでも更新する

このシナリオでは、すべてのユーザーの個人情報が削除されます。 ユーザーの表示名が表示されたすべての場所で、"削除されたユーザー" などの選択した文字列に置き換えられます。ユーザーのリソース ID は残ります。

タイムシートやプロジェクトなどの共有レコードでも、ユーザーの表示名を保持する必要がない場合は、このシナリオを選択できます。

シナリオ 3: Project Web App インスタンスからユーザーの情報を削除するが、タイムシート レコードを除くすべての場所で表示名を変更する

このシナリオでは、タイムシート レコードを除き、すべてのユーザーの個人情報が削除されます。 ユーザーの表示名を別の文字列 ("削除されたユーザー" など) に置き換えることができます。ただし、ユーザー名がまだ残っているタイムシート レコードには影響しません。 更新された表示名はタイムシート レコードからリンク解除され、タイムシート レコード内のデータを介して更新されたユーザー名を識別できないように、新しいリソース ID が生成されます。

ユーザーが提出者または承認者として表示されるタイムシート レコードをさらに確認する必要がある場合は、このシナリオを選択できます。

プロセスの概要

次に、Project Web Appで特定のユーザーの情報を削除するプロセスの概要を示します。

  1. Microsoft ダウンロード センターから削除スクリプトとエクスポート スクリプトをダウンロードします。

  2. 環境内の PWA サイトを見つける: Project Server ファーム内のProject Web App インスタンスの一覧を見つけます。

  3. ユーザーのリソース ID を見つける: 各Project Web App インスタンスで、ユーザーの要求アカウントを指定して、ユーザーの一意のリソース ID を見つけます。

  4. ユーザーのデータのエクスポートを実行する: この手順については、「 Project Server からユーザー データをエクスポートする」を参照してください。

  5. Project Professionalで、ユーザーが関与したすべてのプロジェクトを閉じます。これにより、ユーザーが情報を持つすべてのプロジェクトに変更が加えられます。

  6. RedactProjectUser PowerShell スクリプトを実行する: スクリプトを実行して、各 PWA サイトからユーザーの情報を削除します。

    スクリプトを使用して、ユーザーの表示名を別のものに変更できます (たとえば、"削除されたユーザー")。 これは、ユーザーのデータが共有されていて、プロジェクトの割り当ての所有者やプロジェクト スケジュールの一部など、削除したくない場合に便利です。

  7. Project Professional ユーザーのキャッシュを削除する: スクリプトが正常に完了したら、Project Web App インスタンスに接続しているときにProject Professionalを使用してプロジェクトを開いた各デバイスのキャッシュを削除する必要があります。 キャッシュをクリアすると、ユーザー情報がデバイスにキャッシュされている場合、プロジェクトに再追加できなくなります。

    重要

    同じユーザーの情報を Project Server から削除する前に、SharePoint Server ユーザー情報の削除プロセスを実行することをお勧めします。 これにより、Project Server の問題やリスクに関するユーザーの個人情報が、対応する SharePoint Server データによって更新されるのを防ぐことができます。これらのデータがまだ存在する場合。

異なるバージョンの Project Server にスクリプトを使用する

この記事は、Project Server 2016、Project Server 2013、および Project Server 2010 に適用されます。 一般的なプロセスは 3 つのバージョンすべてに適用されますが、特に SQL スクリプトを実行する場合は、異なるバージョンに適用される可能性のある詳細があります。 これらは、方向に示されています。

手順 1 - SharePoint Server ファーム内のProject Web App インスタンスを見つける

次のフィルターでGet-SPProjectWebInstance コマンドレットを使用して、SharePoint Server ファームに存在する PWA サイトの URL、サイト ID、データベース名を取得します。

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

後の手順でユーザーの個人データを削除するときに、各サイトの情報が必要になります。

たとえば、サンプル Contoso Project Server ファームでコマンドレットを実行すると、次の 3 つの 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 サービス アプリケーション のサービス アプリケーション ID も検索する必要があります。 これを行うには、次のパラメーターを使用して Get-ServiceApplication PowerShell コマンドレットを実行します。

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

これにより、Project Server サービス アプリケーションの名前も返されます。 その後、Get-SPProjectWebInstance コマンドレットを使用して、-ServiceApplication パラメーターでサービス アプリケーション名を指定することで、4 つの Project Server データベースの名前を返すことができます。

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

各データベースのデータベース名を参照できる必要があります。

注:

Project Server 2010 Reporting データベースは、他の 3 つのデータベースとは異なるSQL Serverインスタンスに配置できます。

手順 2 - 各 PWA サイトでユーザーのリソース ID または要求アカウントを見つける

Project Server ファーム上のすべての PWA サイトの情報を取得したら、次に、個人データを削除するユーザーのリソース ID (ResID) またはクレーム アカウントを見つける必要があります。 手順 1 で検出した各 PWA サイトでこれを行います (各 PWA インスタンスで REsID が異なるため)。 後の手順でユーザーの個人データを削除する場合は、ユーザーのリソース ID またはクレーム アカウントが必要です。

FindUser201x.sql SQL スクリプトを実行して、ユーザーのリソース ID または要求アカウントを検索します。

注:

SQL Server Management Studioで FindUser201x.sql SQL スクリプトを実行する必要があり、適切なデータベースにアクセスするにはファーム管理者のアクセス許可が必要です。

Project Server 2010 の発行済みデータベース、またはそれ以降のバージョンの関連 PWA サイトのデータベースでスクリプトを実行します。 手順 1 で提供される結果の例では、3 つのProject Web App インスタンスのデータベースはすべて WSS_Content です。

スクリプトで次のパラメーターの値を指定します。

パラメーター 説明
@siteID (Project Server 2016のみ)
ユーザーのリソース ID を検索するサイトの PWA サイト ID。 手順 1 で PWA サイトの PWA サイト ID の値が見つかりました。
@searchName
Project Server ユーザーの表示名。

たとえば、手順 1 の例で見つけた Contoso PWA1 サイトで Adam Barr の userID を検索する場合は、スクリプト内のパラメーターの値を次のように編集します。

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

スクリプトは、ユーザーのリソース名、リソース ID、電子メール アドレス、および要求アカウントの値を返します。

Project Server 2010 では、Project Web App インスタンスからユーザーの情報を削除し、タイムシート レコードを除くすべての場所で表示名を変更する場合に必要なタイムシート GUID も生成されます。 レポートおよび削除スクリプトで使用するために、この GUID を書き留めておきます。

手順 3 - すべてのユーザーのプロジェクトを閉じる

次の手順で削除スクリプトを実行する前に、ユーザーのすべてのプロジェクトが Project Server 環境で閉じられるようにする必要があります。 これにより、削除スクリプトによって行われた変更が上書きされないようにします。

必要に応じて、PWA 管理者は PWA サーバー設定を使用してプロジェクトを強制的にチェックインできます。

  1. [ サーバーの設定] ページの [ キューとデータベースの管理 ] セクション で、[エンタープライズ オブジェクトのチェックインを強制する] をクリックします。

  2. [ エンタープライズ オブジェクトの強制的なチェックイン ] ページで、プロジェクトの一覧から、チェック ボックスをオンにする必要があるプロジェクトの横にあるチェック ボックスをオンにし、[ チェックイン] をクリックします。

  3. 強制的にチェックインするかどうかを確認するメッセージが表示されます。 [OK] をクリックします。

手順 4 - ユーザー データをエクスポートする

ユーザーの個人データを削除する前に、ユーザーが参加していたすべてのプロジェクトを把握しておく必要があります。 これにより、後でユーザーのデータが削除されたかどうか、および削除する正しいユーザーがいることを確認できます。 ユーザー データのエクスポートについては、「 Project Server からユーザー データをエクスポートする」を参照してください。 以下の手順 6 では、ExportWorkspaceItemsByDisplayName201x.sql スクリプトが必要であることに注意してください。

手順 5 - ワークスペース項目を削除する

ワークスペース項目は、SharePoint Server の一部である Project Sites に格納されます。 Project Server 情報を削除する前に、ユーザーの SharePoint Server 情報を削除する必要があります。 これにより、ワークスペース アイテム内のユーザーの個人情報が、引き続き存在する場合に対応する SharePoint Server データによって更新されるのを防ぐことができます。

ワークスペース項目には、次のものが含まれます。

  • 問題
  • リスク
  • 成果 物
  • リンクされたドキュメント

手順 6 - ワークスペース項目を Project Server に同期する

Sync-ProjectWorkspace201x.ps1 スクリプトは、Project Server でキュー ジョブを作成して、プロジェクト ワークスペースの完全同期を実行します。探しているユーザーを含むプロジェクトごとに、このスクリプトを実行します。 (プロジェクトごとにプロジェクト ID が必要です。ExportWorkspaceItemsByDisplayName201x.sql スクリプトを使用してこれを取得できます)。追加の手順を続行する前に 、キュー ジョブが完了したことを確認 します。

手順 7 - リソース カレンダーを開き、ユーザーの例外の理由をクリアする

Project Server のリソース 予定表からユーザーの個人データを削除するには、プロジェクト管理者が手動で開き、含まれている予定表の例外の理由をすべてクリアする必要があります。

  1. Project Web Appで、リソース センターに移動します。

  2. リソース センターで、更新するユーザーを選択します。

  3. [ リソース ] タブの [ リソース ] セクションで、[ 開く] をクリックします。 メッセージが表示されたら、Project Professionalを開くかどうかを確認します。

  4. Project Professionalで、更新するユーザーをダブルクリックします。

  5. [リソース情報] ダイアログ ボックスで、[ 作業時間の変更] をクリックします。

  6. [ 作業時間の変更 ] ダイアログ ボックスの [ 例外 ] タブで、削除する例外を選択し、[削除] をクリック します

  7. [OK] をクリックします。

  8. [ リソース情報 ] ダイアログ ボックスで、[ OK] をクリックします。

  9. [ ファイル ] タブの [保存] をクリック します

手順 8 - リソース テーブルとプロジェクト リソース テーブルからユーザーの個人情報を削除する

Project Server 2010 のデータベース構造は、以降のバージョンとは異なるため、プロシージャとスクリプトは異なります。 お使いのバージョンについては、以下の適切なセクションを参照してください。

重要

このスクリプトを実行する前に、必ず Project Server データベースをバックアップしてください。 ユーザーのデータの削除が正常に完了したら、バックアップ ファイルを削除できます。

Project Server 2016

RedactUser2016.sql SQL スクリプトを実行すると、ユーザーの個人データがProject Web App インスタンスから削除され、必要に応じてユーザーの表示名を更新できます。

次のパラメーターを使用して RedactUser2016.sql を実行します。

パラメーター 説明
@siteID
PWA インスタンスのサイト ID
必須
@resUID
個人データを削除するユーザーのリソース ID
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")、ユーザー名はタイムシート レコードに残りますが、ユーザー名にはタイムシートに新しいリソース ID が割り当てられ、ユーザー名が追跡不可能になります。
既定では有効です。

シナリオ 1 のスクリプト構成例: Project Web App インスタンスからユーザーの情報を削除しますが、表示名はそのままにします

このシナリオでは、Project Web App インスタンスからユーザーの個人データが削除されますが、ユーザーの表示名はそのまま残ります。 ユーザーの表示名は、プロジェクトのタスク所有者やタイムシートのエントリなど、共有アイテムに含まれている場合に備えて、レビュー用のままにすることができます。

ユーザーの要求アカウントを使用する

この例では、手順 2 で取得した Adam Barr のクレーム アカウントと、手順 1 で取得した PWA サイト ID を使用し、スクリプトのパラメーターを次のように構成します。

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

このスクリプトは、サイトからの表示名を除き、Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除します。

ユーザーのリソース ID を使用する

この例では、手順 2 で取得した Adam Barr のリソース ID と手順 1 で取得した PWA サイト ID を使用し、スクリプトのパラメーターを次のように構成します。

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

このスクリプトは、サイトからの表示名を除き、Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除します。

シナリオ 2 のスクリプト構成の例: Project Web App インスタンスからユーザーの情報を削除しますが、表示名はどこでも更新します

このシナリオでは、Project Web App インスタンスからユーザーの個人データが削除され、タイムシートを含むすべての場所でユーザーの表示名が選択した内容 ("削除されたユーザー" など) に変更されます。 このメソッドを使用して、ユーザーの表示名を、ユーザーの ID を匿名にする名前に変更します。

スクリプトが正常に実行されたら、手順 2 で使用した FindUser201x.sql スクリプトを再実行して、ユーザーの表示名が変更されているかどうかを確認できます。

ユーザーは、要求アカウントまたはリソース ID で指定できます。

ユーザーの要求アカウントを使用する

この例では、手順 2 で取得した Adam Barr のクレーム アカウントと、手順 1 で取得した PWA サイト ID を使用し、スクリプトのパラメーターを次のように構成します。

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 表示名を "削除されたユーザー" に変更します。

ユーザーのリソース ID を使用する

この例では、手順 2 で取得した Adam Barr のリソース ID と、手順 1 で取得した PWA サイト ID を使用し、スクリプトのパラメーターを次のように構成します。

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 スクリプトを再実行して、ユーザーの表示名が変更されているかどうかを確認できます。

要求アカウントまたはリソース ID でユーザーを指定できることに注意してください。

ユーザーの要求アカウントを使用する

この例では、手順 2 で取得した Adam Barr のクレーム アカウントと、手順 1 で取得した PWA サイト ID を使用し、スクリプトのパラメーターを次のように構成します。

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

このスクリプトは、サイトから Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除し、タイムシート レコードを除き、表示名を "削除されたユーザー" に変更します。 タイムシート レコード内のユーザーに対して、"削除された Uer" に関連付けられているレコードからのリンクを解除するための新しいリソース ID が生成されます。

アカウントが削除されるため、ユーザーの要求アカウントを使用してスクリプトを再実行することはできません。

ユーザーのリソース ID を使用する

この例では、手順 2 で取得した Adam Barr のリソース ID と、手順 1 で取得した PWA サイト ID を使用し、スクリプトのパラメーターを次のように構成します。

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

このスクリプトは、サイトから Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除し、タイムシート レコードを除き、表示名を "削除されたユーザー" に変更します。 タイムシート レコード内のユーザーに対して、"削除された Uer" に関連付けられているレコードからのリンクを解除するための新しいリソース ID が生成されます。

Project Server 2013

RedactUser2013.sql SQL スクリプトを実行すると、Project Web App インスタンスからユーザーの個人データが削除され、必要に応じてユーザーの表示名を更新できます。

次のパラメーターを使用して RedactUser2013.sql を実行します。

パラメーター 説明
@resUID 個人データを削除するユーザーのリソース ID 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")、ユーザー名はタイムシート レコードに残りますが、ユーザー名にはタイムシートに新しいリソース ID が割り当てられ、ユーザー名は追跡不可能になります。 既定では有効です。

シナリオ 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

このスクリプトは、サイトからの表示名を除き、Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除します。

アカウントが削除されるため、ユーザーの要求アカウントを使用してスクリプトを再実行することはできません。

ユーザーのリソース ID を使用する

この例では、手順 2 で取得した Adam Barr のリソース ID を使用し、スクリプトのパラメーターを次のように構成します。

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

このスクリプトは、サイトからの表示名を除き、Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除します。

シナリオ 2 のスクリプト構成の例: Project Web App インスタンスからユーザーの情報を削除しますが、表示名はどこでも更新します

このシナリオでは、Project Web App インスタンスからユーザーの個人データが削除され、タイムシートを含むすべての場所でユーザーの表示名が選択した内容 ("削除されたユーザー" など) に変更されます。 このメソッドを使用して、ユーザーの表示名を、ユーザーの ID を匿名にする名前に変更します。

スクリプトが正常に実行されたら、手順 2 で使用した FindUser201x.sql スクリプトを再実行して、ユーザーの表示名が変更されているかどうかを確認できます。

ユーザーは、要求アカウントまたはリソース ID で指定できます。

ユーザーの要求アカウントを使用する

この例では、手順 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 表示名を "削除されたユーザー" に変更します。

ユーザーのリソース ID を使用する

この例では、手順 2 で取得した Adam Barr のリソース ID を使用し、スクリプトのパラメーターを次のように構成します。

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 スクリプトを再実行して、ユーザーの表示名が変更されているかどうかを確認できます。

要求アカウントまたはリソース ID でユーザーを指定できることに注意してください。

ユーザーの要求アカウントを使用する

この例では、手順 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

このスクリプトは、サイトから Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除し、タイムシート レコードを除き、表示名を "削除されたユーザー" に変更します。 タイムシート レコード内のユーザーに対して、"削除された Uer" に関連付けられているレコードからのリンクを解除するための新しいリソース ID が生成されます。

ユーザーのリソース ID を使用する

この例では、手順 2 で取得した Adam Barr のリソース ID を使用し、スクリプトのパラメーターを次のように構成します。

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

このスクリプトは、サイトから Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除し、タイムシート レコードを除き、表示名を "削除されたユーザー" に変更します。 タイムシート レコード内のユーザーに対して、"削除された Uer" に関連付けられているレコードからのリンクを解除するための新しいリソース ID が生成されます。

Project Server 2010

RedactUser-PrimaryDB2010.sql スクリプトと RedactUser-ReportingDB2010.sql スクリプトを実行すると、Project Web App インスタンスからユーザーの個人データが削除され、必要に応じてユーザーの表示名を更新できます。

次のパラメーターを使用して、各ユーザーに対して両方のスクリプトを実行します。

パラメーター 説明
@resUID 個人データを削除するユーザーのリソース ID resUID または res_claims_accountが必要です。
@res_new_name 指定すると、リソースのユーザー名がこの文字列で更新されます。> [!重要]> 上記のシナリオ 2 または 3 を実行していない限り、この値は NULL にする必要があります。 オプション
@update_timesheet_names 有効 (値が "1") の場合、タイムシート レコードのユーザー名は指定された文字列に @res_new_name 置き換えられます。有効になっていない場合 (値が "0")、ユーザー名はタイムシート レコードに残りますが、ユーザー名にはタイムシートに新しいリソース ID が割り当てられ、ユーザー名は追跡不可能になります。 既定では有効です。
@timesheet_new_res_uid の場合は を使用します @update_timesheet_names=0。 FindUser201x.sql の値を使用します。 プライマリ スクリプトとレポート スクリプトの両方で同じ値を使用してください。

シナリオ 1 のスクリプト構成例: Project Web App インスタンスからユーザーの情報を削除しますが、表示名はそのままにします

このシナリオでは、Project Web App インスタンスからユーザーの個人データが削除されますが、ユーザーの表示名はそのまま残ります。 ユーザーの表示名は、プロジェクトのタスク所有者やタイムシートのエントリなど、共有アイテムに含まれている場合に備えて、レビュー用のままにすることができます。

この例では、手順 2 で取得した Adam Barr のリソース ID を使用し、スクリプトのパラメーターを次のように構成します。

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

このスクリプトは、サイトからの表示名を除き、Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除します。

シナリオ 2 のスクリプト構成の例: Project Web App インスタンスからユーザーの情報を削除しますが、表示名はどこでも更新します

このシナリオでは、Project Web App インスタンスからユーザーの個人データが削除され、タイムシートを含むすべての場所でユーザーの表示名が選択した内容 ("削除されたユーザー" など) に変更されます。 このメソッドを使用して、ユーザーの表示名を、ユーザーの ID を匿名にする名前に変更します。

スクリプトが正常に実行されたら、手順 2 で使用した FindUser201x.sql スクリプトを再実行して、ユーザーの表示名が変更されているかどうかを確認できます。

この例では、手順 2 で取得した Adam Barr のリソース ID を使用し、スクリプトのパラメーターを次のように構成します。

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 のリソース ID を使用し、スクリプトのパラメーターを次のように構成します。

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'

このスクリプトは、サイトから Adam Barr のすべての個人データを https://contoso.sharepoint.com/sites/pwa 削除し、タイムシート レコードを除き、表示名を "削除されたユーザー" に変更します。 新しいリソース ID がタイムシート レコードに追加され、"削除された Uer" に関連付けられているレコードからのリンクを解除します。

手順 9 - アーカイブされたオブジェクトからリソース情報を編集する

アーカイブされたプロジェクト データ

リソースが編集されたプロジェクトの場合:

  1. [Project Web App設定] で、[エンタープライズ オブジェクトの削除] を選択します。
  2. [ アーカイブ済みプロジェクトの削除] を選択します
  3. 必要なアーカイブ済みプロジェクトを削除します。

アーカイブされたプロジェクト以外のデータ

Project Server では、次のアーカイブ済みアイテムの 1 つのバージョンのみが保持されます。

  • エンタープライズ リソース共有元とカレンダー
  • エンタープライズ ユーザー設定フィールド
  • エンタープライズ グローバル

新しい 管理バックアップ (2010) を作成します。 これにより、以前のバージョンが、リソースの個人データが編集されたバージョンで上書きされます。

手順 10 - Project Online インスタンスに接続Project Professionalユーザーのキャッシュをクリアする

Project ProfessionalまたはProject Online デスクトップ クライアントがProject Web Appに接続されているすべてのデバイスで、キャッシュをクリアする必要があります。 キャッシュをクリアすると、ユーザー情報が削除されたプロジェクトが、システムに残っているキャッシュされたデータから更新されなくなります。

Project Professionalでキャッシュをクリアするには:

  1. [ ファイル ] メニューを選択し、[ オプション] をクリックします。

  2. [ プロジェクト オプション] ページで 、[ 保存] を選択します。

  3. [キャッシュ] セクション 、[ キャッシュのクリーンアップ] を選択します。

関連項目

Project Server からユーザー データをエクスポートする