Поделиться через


Удаление пользовательских данных из общедоступной предварительной версии Project Server 2019

Важно! Процесс удаления пользовательских данных из общедоступной предварительной версии Project Server 2019 сильно отличается от процесса, используемого для Project Server 2016, Project Server 2013 и Project Server 2010. Сведения об удалении пользовательских данных из предыдущих версий Project Server см. в статье Удаление пользовательских данных из Project Server.

Узнайте, как администратор фермы может удалить данные определенного пользователя из среды Project Server. 

В этой статье описываются:

  • Какие сведения о пользователе удаляются?

  • Сценарии удаления

  • Обзор процесса

  • Шаг 1. Поиск экземпляров Project Web App в ферме SharePoint Server

  • Шаг 2. Поиск идентификатора ресурса или учетной записи утверждений пользователя на каждом сайте PWA

  • Шаг 3. Закрытие всех проектов пользователя

  • Шаг 4. Синхронизация элементов рабочей области с Project Server

  • Шаг 5. Экспорт данных пользователей

  • Шаг 6. Удаление персональных данных пользователя для проблем и рисков

  • Шаг 7. Открытие календаря ресурсов и очистка причины исключения для пользователя

  • Шаг 8. Удаление персональных данных пользователя из таблиц Ресурсов и Ресурсов проекта

  • Шаг 9. Очистите кэш для Project профессиональный пользователей, подключающихся к экземпляру Project Server.

Какие сведения о пользователе удаляются?

В Project Server администраторы могут выполнить действия, описанные в этой статье, чтобы удалить персональные данные пользователя и личные данные (данные, которые можно использовать для идентификации пользователя), например:

  • Отображаемое имя, фонетическое имя, идентификаторы GUID . Вы можете удалить или переименовать отображаемое имя пользователя (сведения о запуске скрипта).

  • Параметры представления для пользователей . Например, если пользователь имеет настройки в параметрах представления (представления, фильтры, группы, таблицы, карты, рисование, отчеты) поверх страниц сетки с представлениями (например, Центр ресурсов, Центр проектов, веб-часть расписания и т. д.), они удаляются.

  • Сведения об исключении из календаря . Например, если пользователь не работал в течение недели в январе из-за болезни или в отпуске, имя исключения необходимо удалить вручную. Даты останутся прежними.

  • Разрешения пользователя — Например, если пользователь связан с категориями сервера проекта, группами или получил отдельные глобальные разрешения, мы удалим все связи. Пользователь также будет установлен как неактивный.

Персональные данные пользователей, содержащиеся на сайтах Project, проблемы и риски, хранятся в SharePoint и не удаляются в ходе этого процесса. Вам потребуется удалить эти данные непосредственно из SharePoint Server.

ВАЖНО: Мы рекомендуем запустить процесс удаления сведений о пользователе SharePoint Server, прежде чем удалять данные того же пользователя из Project Server. Это предотвратит обновление личных сведений пользователей в Project Server, если они все еще существуют, проблемы и риски.

Сценарии удаления

В зависимости от ваших потребностей этот процесс позволяет удалить личную информацию пользователя, перечисленные выше, но также позволяет контролировать удаление отображаемого имени пользователей в общих элементах, таких как расписания, проекты и назначения. Существует три сценария удаления, которые можно выполнить:

Сценарий 1. Удаление сведений о пользователе из экземпляра Project Web App за исключением отображаемого имени

В этом сценарии удаляются все персональные данные пользователя, но отображаемое имя пользователя останется без изменений.

Этот сценарий можно выбрать, если необходимо выполнить дальнейшую проверку общих элементов (например, расписаний и проектов), в которых был активен пользователь.

Сценарий 2. Удаление сведений о пользователе из экземпляра Project Web App, но обновление отображаемого имени везде

В этом сценарии удаляются все персональные данные пользователя. Во всех расположениях, где отображалось отображаемое имя пользователя, оно заменяется выбранной строкой, например "Удаленный пользователь". Идентификатор ресурса для пользователя остается.

Этот сценарий можно выбрать, если нет необходимости сохранять отображаемое имя пользователя, даже в общих записях, таких как расписания и проекты.

Сценарий 3. Удаление сведений о пользователе из экземпляра Project Web App, но изменение отображаемого имени везде, за исключением записей расписания

В этом сценарии удаляются все персональные данные пользователя, за исключением записей расписания. Вы можете заменить отображаемое имя пользователя другой строкой, например "Удаленный пользователь". Однако это не повлияет на записи расписания, где по-прежнему остается имя пользователя. Обновленное отображаемое имя не связано с записями расписаний, и создается новый идентификатор ресурса, чтобы обновленное имя пользователя не идентифицировать по данным в записях расписания.

Этот сценарий можно выбрать, если необходимо выполнить дальнейшую проверку записей расписания, в которых пользователь отображается как отправитель или утверждающий.

Обзор процесса

Ниже приведен обзор процесса удаления сведений о конкретном пользователе в Project Web App.

  1. Скачайте скрипты экспорта из Центра загрузки Майкрософт.

  2. Поиск сайтов PWA в вашей среде. Найдите список экземпляров Project Web App в ферме Project Server.

  3. Поиск идентификатора ресурса пользователя. На каждом экземпляре Project Web App найдите уникальный идентификатор ресурса для пользователя, указав учетную запись утверждений пользователя.

  4. Закрытие всех проектов пользователя. Это гарантирует, что все проекты, в которых пользователь имеет сведения, будут внесены изменения.

  5. Синхронизация элементов рабочей области с Project Server:

  6. Выполнение экспорта данных пользователя. Эти процедуры описаны в статье Экспорт данных пользователя в общедоступной предварительной версии Project Server 2019.

  7. Удаление персональных данных пользователя из раздела Проблемы и риски:

  8. Удалите данные пользователя с сайта PWA: Запустите скрипт, чтобы удалить сведения о пользователе с каждого сайта PWA.

  9. Отредактируйте сведения о ресурсах из архивных объектов:

  10. Очистите кэш для пользователей клиента Project, подключающихся к сайту PWA:

Шаг 1. Скачивание файлов скрипта экспорта

Щелкните здесь , чтобы скачать скрипты экспорта.

Важные примечания о выполнении скриптов экспорта:

  • Запустите sql-скрипт в контексте базы данных, в которой находятся сведения. У вас должны быть db_datareader разрешения на базу данных.

  • Возможно, потребуется разблокировать ZIP-файл, так как по умолчанию выполнение скриптов, скачанных из Интернета, запрещено. Чтобы разблокировать файлы, сделайте следующее:

  1. В проводник перейдите в расположение, в котором вы сохранили ZIP-файл.

  2. Щелкните правой кнопкой мыши ZIP-файл и выберите пункт Свойства.

  3. На вкладке Общие выберите Разблокировать

  4. Нажмите кнопку ОК.

Все файлы, содержащиеся в ZIP-файле, должны быть разблокированы. Это можно проверить в отдельных файлах, убедившись, что флажок Разблокировать больше не отображается на вкладке Общие на странице Свойства файла.

Примечание. Если у вас есть только доступ к распакованным файлам, вы также можете разблокировать каждый файл по отдельности.

Шаг 2. Поиск экземпляров Project Web App в ферме SharePoint Server

Используйте командлет Get-SPProjectWebInstance со следующими фильтрами, чтобы получить URL-адрес, идентификатор сайта и имя базы данных для сайтов PWA, существующих в ферме SharePoint Server:

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

Вам потребуются сведения для каждого сайта при удалении персональных данных пользователя на следующем шаге.

Например, выполнение командлета в нашем примере фермы Contoso Project Server может вернуть следующие три сайта PWA:

URL-адрес SiteID База данных DatabaseServer
`https://contoso/pwa1` 63ed0197-3647-4279-ed5e80855fc7 WSS_Content SQL01
`https://contoso/pwa2` 67fd0727-5279-3321-ef4e90956fc8 WSS_Content SQL01
`https://contoso/pwa3` 63ed0197-3647-4279-eg7e20233fg9 WSS_Content SQL02

Шаг 3. Поиск идентификатора ресурса или учетной записи утверждений пользователя на каждом сайте PWA

После получения сведений обо всех сайтах PWA в ферме Project Server необходимо найти учетную запись Идентификатор ресурса (ResID) или Утверждения пользователя, персональные данные которого вы хотите удалить. Сделайте это на каждом из сайтов PWA, обнаруженных на шаге 1 (поскольку идентификаторы resID отличаются в каждом экземпляре PWA).

Запустите скрипт SQL FindUser2019.sql, чтобы найти идентификатор ресурса или учетную запись утверждений пользователя.

Примечание. Необходимо запустить скрипт SQL FindUser2019.sql в SQL Server Management Studio и иметь разрешения администратора фермы, чтобы иметь доступ к соответствующей базе данных.

Запустите скрипт в базе данных для связанного сайта PWA. В примере результатов, приведенных на шаге 1, база данных для всех трех экземпляров Project Web App WSS_Content .

Укажите значения для следующих параметров в скрипте:

Параметр Описание
@siteID Идентификатор сайта PWA для сайта, на котором вы хотите найти идентификатор ресурса пользователя. Вы нашли значения идентификатора сайта PWA для сайтов PWA на шаге 1. 
@searchName Отображаемое имя пользователя Project Server. 

Например, если вы хотите найти userID для Адама Барра на сайте Contoso PWA1, который вы нашли в примере на шаге 1, измените значения параметров в скрипте следующим образом:

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'

DECLARE @searchName nvarchar(255) = "Адам Барр"

Скрипт возвращает значения имя ресурса, идентификатор ресурса, адрес электронной почты и учетная запись утверждений для пользователя.

Шаг 4. Закрытие всех проектов пользователя

Необходимо убедиться, что все проекты пользователя закрыты в среде Project Server. Это гарантирует, что изменения, внесенные скриптом удаления, не будут перезаписаны.

При необходимости администратор PWA может принудительно проверить проект с помощью параметров сервера PWA.

  1. На странице Параметры сервера в разделе Администрирование очередей и баз данных щелкните Принудительная проверка корпоративных объектов.

  2. На странице Принудительное восстановление корпоративных объектов в списке проектов установите флажок рядом с проектом, который необходимо установить, и нажмите кнопку Вернуть.

  3. Появится сообщение с запросом, действительно ли вы хотите выполнить принудительная проверка. Нажмите кнопку ОК.

Шаг 5. Синхронизация элементов рабочей области с Project Server

Скрипт Sync-ProjectWorkspace2019.ps1 создает задание очереди в Project Server для полной синхронизации рабочей области проекта. Выполните этот скрипт для каждого проекта, содержащего пользователя, который вы ищете. (Вам потребуется идентификатор проекта для каждого проекта. Проекты, связанные с пользователем, можно узнать, выполнив экспорт WorkspaceItems [Экспорт данных пользователя из общедоступной предварительной версии Project Server 2019](export-user-data-from-project-server-2019 Public Preview.md). Убедитесь, что задания очереди завершены , прежде чем переходить к дополнительным шагам.

Шаг 6. Экспорт данных пользователей

Прежде чем удалять персональные данные пользователя, необходимо знать все проекты, в которые входил пользователь. Это позволит позже проверить, были ли удалены данные пользователя и у вас есть правильный пользователь для удаления. Экспорт пользовательских данных подробно рассматривается в статье Экспорт данных пользователей из общедоступной предварительной версии Project Server 2019.

Шаг 7. Удаление персональных данных пользователя для проблем и рисков

Проблемы и риски хранятся на сайтах проектов, которые являются частью SharePoint Server. Перед удалением сведений о Project Server рекомендуется удалить сведения о SharePoint Server пользователя. Это предотвратит обновление личных сведений пользователей в Project Server, если они все еще существуют, проблемы и риски.

Если вы удаляете сведения о пользователях с сайта project после их удаления из Project Server (или для пользователей, у которых никогда не была учетная запись Project Server), необходимо использовать учетную запись утверждений, так как идентификатор ресурса недоступен после удаления из Project Server.

Скрипт FindUserClaims2019.sql можно использовать для поиска учетных записей утверждений для всех рисков, связанных с проблемами, в базе данных отчетов.

Шаг 8. Удаление данных пользователя с сайта PWA

В Project Server, как администратор фермы SharePoint, выполните командлет Invoke-SPProjectRedactUser, чтобы удалить данные пользователя с сайта PWA и при необходимости обновить отображаемое имя пользователя.

Командлет Invoke использует следующие параматеры:

Параметр Описание Примечание.
-URL URL-адрес экземпляра Project Online. Обязательный
-ClaimsAccount ClaimsAccount пользователя. Требуется учетная запись утверждений или ResourceID.
-ResourceId Идентификатор GUID ресурса пользователя. Требуется учетная запись утверждений или ResourceID.
-UpdateDisplayName Новое отображаемое имя пользователя При использовании также требуется RedactTimesheet.
-RedactTimesheet Применить изменения к расписаниям? ($true или $false)

Командлет Invoke и параметры можно использовать следующими способами:

Сценарий 1. Удаление сведений о пользователе из экземпляра Project Online за исключением отображаемого имени

При использовании этой команды данные пользователя будут удалены с сайта PWA, за исключением отображаемого имени. Вашей организации может потребоваться оставить отображаемое имя пользователя для последующей проверки, если оно находится в общем элементе, например владельцем задачи в проекте или записью в расписании.

Обратите внимание, что пользователя можно указать с помощью учетной записи утверждений или идентификатора ресурса.

Использование учетной записи утверждений

Используйте командлет следующим образом, если вы указываете пользователя с помощью учетной записи утверждений

Invoke-SPProjectRedactUser -Url <PWASiteURL> -ClaimsAccount <ClaimsAccount>

Например, ниже удаляются все данные пользователя с утверждением :0#.w| contoso/bob на https://contoso.sharepoint.com/sites/pwa всем сайте, за исключением отображаемого имени пользователя.

*Invoke-SPProjectRedactUser -Url https://contoso.sharepoint.com/sites/pwa -ClaimsAccount "i:0#.w|contoso\evac"
*

При выполнении этой команды отобразится сообщение с просьбой подтвердить продолжение.

После подтверждения и успешного завершения скрипта отобразится сообщение: Все данные для отображаемого имени> пользователя ресурса <удалены, за исключением имени ресурса.

Использование идентификатора ресурса

Если вы указываете пользователя по идентификатору ресурса, используйте командлет следующим образом:

Invoke-SPProjectRedactUser -Url <PWASiteURL> -ResourceID <ResourceID>

Например, следующие данные пользователя удаляются для пользователя с идентификатором ресурса 0c7cd3fb-a0be-e111-9fte-00155d022d022681 на https://contoso.sharepoint.com/sites/pwa сайте, за исключением отображаемого имени пользователя.

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

При выполнении этой команды отобразится сообщение с просьбой подтвердить продолжение.

После подтверждения и успешного завершения скрипта отобразится сообщение: Все данные для <идентификатора> ресурса пользователя ресурса удалены, за исключением имени ресурса.

Сценарий 2. Удаление сведений о пользователе из экземпляра Project Server, но обновление отображаемого имени везде

Эта команда удалит пользовательские данные пользователя из экземпляра Project Online и изменит отображаемое имя пользователя на то, что он выбирает, и это также будет происходить в записях расписания. Ваша организация может захотеть изменить отображаемое имя пользователя на то, что сделает его удостоверение анонимным, например "Удаленный пользователь".

Обратите внимание, что пользователя можно указать с помощью учетной записи утверждений или идентификатора ресурса.

Использование учетной записи утверждений

Если вы указываете пользователя по имени входа, используйте командлет следующим образом:

Invoke-SPProjectRedactUser -Url <PWASiteURL> -ClaimsAccount <ClaimsAccount> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $true

Например, приведенный ниже удалит все данные пользователя для evac@contoso.onmicrosoft.com и изменит его отображаемое имя на "Удаленный пользователь" на сайте *https://contoso.sharepoint.com/sites/pwa*.

Invoke-SPProjectRedactUser -Url https://contoso.sharepoint.com/sites/pwa -ClaimsAccount "i:0#.w|contoso\evac" -UpdateDisplayName "Удаленный пользователь" -RedactTimesheet $true

При выполнении этой команды отобразится сообщение с просьбой подтвердить продолжение.

После подтверждения и успешного завершения скрипта отобразится сообщение: Все данные для имени> входа пользователя ресурса <удалены, а имя ресурса было изменено на обновленное <отображаемое имя> везде, включая записи расписания.

Использование идентификатора ресурса

Если вы указываете пользователя по идентификатору ресурса, используйте командлет следующим образом:

Invoke-SPProjectRedactUser -Url <PWASiteURL> -ResourceID ResourceID <> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $true

Например, следующая команда удалит все пользовательские данные пользователя с идентификатором ресурса 0c7cd3fb-a0be-e111-9fte-00155d022d022681 и изменит отображаемое имя на "Удаленный пользователь" на сайте *https://contoso.sharepoint.com/sites/pwa*.

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

При выполнении этой команды отобразится сообщение с просьбой подтвердить продолжение.

После подтверждения и успешного завершения скрипта отобразится сообщение: Все данные для идентификатора> ресурса пользователя ресурса <удалены, а имя ресурса было изменено на <обновленное отображаемое имя> везде, включая записи расписания.

Сценарий 3. Удаление сведений о пользователе с сайта Project Web App, но изменение отображаемого имени везде, за исключением записей расписания

С помощью этой команды данные пользователя будут удалены с сайта Project Web App, а отображаемое имя пользователя изменится на указанное вами имя, но это не будет происходить в записях расписания. Ваша организация может позже проанализировать, есть ли у нее бизнес-причина для сохранения отображаемого имени пользователей в записях расписания.

Обратите внимание, что пользователя можно указать с помощью учетной записи утверждений или идентификатора ресурса.

Использование учетной записи утверждений

Если вы указываете пользователя с помощью учетной записи утверждений, используйте командлет следующим образом:

Invoke-SPProjectRedactUser -Url <PWASiteURL> -ClaimsAccount <ClaimsAccount> -UpdateDisplayName "<newDisplayName>" -RedactTimesheet $false

Например, приведенный ниже удалит все данные для evac@contoso.onmicrosoft.com и изменит его отображаемое имя на "Удаленный пользователь" на сайте *https://contoso.sharepoint.com/sites/pwa*, за исключением записей расписания.

Invoke-SPProjectRedactUser -Url https://contoso.sharepoint.com/sites/pwa -ClaimsAccount "i:0#.w|contoso\evac" -UpdateDisplayName "Deleted User" -RedactTimesheet $false

При выполнении этой команды отобразится сообщение с просьбой подтвердить продолжение.

После подтверждения и успешного завершения скрипта появится сообщение: После подтверждения и успешного завершения скрипта отобразится сообщение: Все данные для имени> входа пользователя ресурса <удалены, а имя ресурса изменено на <обновленное отображаемое имя> везде, за исключением записей расписания.

Использование идентификатора ресурса

Если вы указываете пользователя по идентификатору ресурса, используйте командлет следующим образом:

Invoke-SPProjectRedactUser -Url <PWASiteURL> -ResourceID ResourceID><-UpdateDisplayName "<newDisplayName>" -RedactTimesheet $false

Например, приведенный ниже удалит все персональные данные пользователя с идентификатором ресурса 0c7cd3fb-a0be-e111-9fte-00155d022d022681 и изменит отображаемое имя на "Удаленный пользователь" на всем https://contoso.sharepoint.com/sites/pwa сайте, за исключением записей расписания.

Invoke-SPProjectRedactUser -Url https://contoso.sharepoint.com/sites/pwa -ResourceId 0c7cd3fb-a0be-e111-9fte-00155d022d022681 -UpdateDisplayName "Удаленный пользователь" -RedactTimesheet $false

При выполнении этой команды отобразится сообщение с просьбой подтвердить продолжение.

После подтверждения и успешного завершения скрипта отобразится сообщение: Все данные для имени> входа пользователя ресурса <удалены, а имя ресурса было изменено на <обновленное отображаемое имя> везде, за исключением записей расписания.

Шаг 9. Удаление сведений о ресурсах из архивных объектов

Архивные данные проекта

Для проектов, в которых ресурс был отредактирован:

  1. В параметрах Project Web App выберите Удалить корпоративные объекты.

  2. Выберите Удалить архивные проекты.

  3. Удалите необходимые архивные проекты.

Архивные данные, не относящиеся к проекту

Project Server хранит только одну версию следующих архивных элементов:

  • корпоративный пул ресурсов и календари;

  • корпоративные настраиваемые поля;

  • корпоративные глобальные шаблоны;

Создайте новую административную резервную копию. При этом предыдущая версия будет перезаписана версией, в которой были отредактированы персональные данные ресурса.

Шаг 10. Очистка кэша для пользователей клиентов Project, подключающихся к сайту PWA

На всех устройствах, на которых Project профессиональный или классический клиент Project Online, подключенный к экземпляру Project Online, ИТ-администратор должен очистить кэш. Очистка кэша предотвратит обновление проектов, в которых сведения о пользователе были удалены из кэшированных данных, которые остаются в системе. Кроме того, перед очисткой кэша необходимо убедиться, что ни один из проектов пользователя не открыт на клиенте.

Чтобы очистить кэш в Project профессиональный 2016 и классическом клиенте Project Online, выполните следующие действия:

  1. Выберите меню Файл и выберите пункт Параметры.

  2. На странице Параметры проекта нажмите кнопку Сохранить.

  3. В разделе Кэш выберите Очистить кэш.