Partager via


Exportation de données utilisateur depuis Project Server

Important ! : cet article explique comment exporter des données utilisateur à partir de Project Server 2016, Project Server 2013 ou Project Server 2010. Le processus d’exportation des données utilisateur à partir de Project Server 2019 est très différent de la version précédente et n’est pas contenu dans cet article. Pour savoir comment exporter des données utilisateur à partir de versions précédentes de Project Server 2019 Public Preview, consultez Exporter des données utilisateur dans Project Server 2019 Public Preview.

Votre organisation peut exporter le contenu d’un utilisateur spécifique à partir de votre environnement Project Server. Pour exporter ce contenu, un administrateur de batterie de serveurs Project Server peut effectuer les étapes suivantes :

Étape 1 : Télécharger les fichiers de script d’exportation

Étape 2 : Rechercher les instances Project Web App dans votre batterie de serveurs SharePoint Server

Étape 3 : Exporter des éléments d’espace de travail pour l’utilisateur

Étape 4 : rechercher l’ID de ressource ou le compte de revendications de l’utilisateur sur chaque site PWA

Étape 5 : Rechercher les projets qui contiennent l’utilisateur que vous recherchez

Étape 6 : Requêtes supplémentaires pour exporter des données

Étape 7 - Éléments archivés

Étape 8 : Rechercher et enregistrer des pièces jointes, des vues et des fichiers VBA

Vue d’ensemble du processus

Voici une vue d’ensemble du processus d’exportation des informations d’un utilisateur spécifique à partir de Project Web App :

  1. Télécharger les scripts d’exportation : téléchargez les scripts .sql et Microsoft PowerShell pour l’exportation des données utilisateur.

  2. Rechercher les sites PWA dans votre environnement : recherchez une liste d’instances Project Web App dans votre batterie de serveurs Project Server.

  3. Rechercher l’ID de ressource de l’utilisateur : sur chaque instance Project Web App, recherchez l’ID de ressource unique de l’utilisateur. Vous pouvez également choisir de spécifier la revendication utilisateur.

  4. Effectuer une exportation des données de l’utilisateur : exportez les informations que vous souhaitez examiner à l’aide des scipts.

    Utilisation de scripts pour différentes versions de Project Server

Cet article s’applique à Project Server 2016, Project Server 2013 et Project Server 2010. Bien que le processus général s’applique aux trois versions, il existe des spécificités qui peuvent s’appliquer aux différentes versions, en particulier lors de l’exécution des scripts SQL. Celles-ci sont indiquées dans les sections ci-dessous. Vérifiez que vous avez déployé les dernières mises à jour sur votre batterie de serveurs et Project Professionnel clients.

Remarque

L’auteur du projet n’est pas exporté dans le cadre des procédures décrites dans cet article.

Étape 1 : Télécharger les fichiers de script d’exportation

Téléchargez les scripts d’exportation à partir du Centre de téléchargement Microsoft.

Le téléchargement contient un fichier ZIP avec des dossiers distincts pour chaque version de Project Server. Utilisez les scripts pour votre version ou Project Server, comme décrit à l’étape 5 ci-dessous.

Remarques importantes sur l’exécution des scripts d’exportation :

  • Le dossier de script contient plusieurs fichiers .wsdl. Ceux-ci sont requis par les scripts PowerShell. Assurez-vous qu’ils se trouvent dans le même répertoire que les scripts PowerShell lorsque vous les exécutez.

  • Le script SetupReportingProcedures201x.sql crée temporairement des procédures stockées globales en mémoire qui sont disponibles dans la session sql. Ces procédures stockées sont requises par les scripts suivants :

    • ExportReportingProject201x.sql

    • ExportReportingResource201x.sql

    • ExportTimesheetReporting201x.sql

Remarque

Exécutez SetupReportingProcedures201x.sql avant d’exécuter l’un de ces scripts.

  • Chaque script a une ou plusieurs variables qui doivent être définies (par exemple, UserID ou nom de base de données) avant de l’exécuter. Consultez la section description du script lui-même pour connaître les paramètres nécessaires.

  • Exécutez chaque script .sql dans le contexte de la base de données où résident les informations. Vous devez disposer d’autorisations db_datareader sur la base de données.

  • Vous devrez peut-être « débloquer » le fichier zip, car par défaut, l’exécution de scripts téléchargés à partir d’Internet n’est pas autorisée. Pour débloquer vos fichiers, procédez comme suit :

  1. Dans Explorateur de fichiers, accédez à l’emplacement où vous avez enregistré le fichier zip.

  2. Cliquez avec le bouton droit sur le fichier zip, puis cliquez sur Propriétés.

  3. Sous l’onglet Général , sélectionnez Débloquer. Déblocage du fichier.

  4. Cliquez sur OK.

    Tous les fichiers contenus dans le fichier zip doivent maintenant être débloqués. Vous pouvez vérifier cela dans les fichiers individuels en vérifiant si l’option Deblocked case à cocher n’apparaît plus dans l’onglet Général de la page Propriétés du fichier.

    Remarque

    Si vous avez uniquement accès aux fichiers décompressés, vous pouvez également débloquer chaque fichier individuellement.

Étape 2 : Rechercher les instances Project Web App dans votre batterie de serveurs SharePoint Server

Utilisez l’applet de commande Get-SPProjectWebInstance avec les filtres suivants pour obtenir l’URL, l’ID de site et le nom de base de données des sites PWA qui existent dans la batterie de serveurs SharePoint Server :

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

Vous aurez besoin des informations pour chaque site lorsque vous supprimerez les données personnelles de l’utilisateur dans une étape ultérieure.

Par exemple, l’exécution de l’applet de commande sur notre exemple de batterie de serveurs Contoso Project Server peut retourner les trois sites PWA suivants :

URL Id de site Base de données Serveur de base de données
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

Rechercher les instances Project Web App dans une batterie de serveurs SharePoint Server 2010

Pour Project Server 2010, vous devez également trouver l’ID d’application de service de l’application de service PSI Project Server . Exécutez l’applet de commande PowerShell Get-ServiceApplication avec les paramètres suivants pour ce faire :

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

Cela renvoie également le nom de l’application de service Project Server. Vous pouvez ensuite utiliser l’applet de commande Get-SPProjectWebInstance pour retourner les noms des quatre bases de données Project Server en spécifiant le nom de l’application de service avec le paramètre -ServiceApplication :

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

Vous devez être en mesure de référencer les noms de base de données pour chaque base de données.

Remarque

La base de données de création de rapports Project Server 2010 peut se trouver sur une instance de SQL Server différente de celle des trois autres bases de données.

Étape 3 : Exporter des éléments d’espace de travail pour l’utilisateur

Exécutez le script ExportWorkspaceItemsByDisplayName201x.sql et recherchez des données à l’aide des noms complets possibles de l’utilisateur (recherches partielles de noms).

Exécutez le script sur la base de données de création de rapports pour Project Server 2010 ou sur la base de données du site PWA associé pour les versions ultérieures. Dans l’exemple de résultats fourni à l’étape 1, la base de données pour les trois instances Project Web App est WSS_Content .

Fournissez des valeurs pour les paramètres suivants dans le script :

Paramètre Description
@siteID (Project Server 2016 uniquement)
ID de site PWA pour le site dans lequel vous souhaitez trouver l’ID de ressource de l’utilisateur. Vous avez trouvé les valeurs d’ID de site PWA pour vos sites PWA à l’étape 1.
@resDisplayName
Nom complet, ou nom d’affichage partiel, de l’utilisateur Project Server.

Étape 4 : rechercher l’ID de ressource ou le compte de revendications de l’utilisateur sur chaque site PWA

Après avoir obtenu des informations sur tous les sites PWA de votre batterie de serveurs Project Server, vous devez ensuite trouver l’ID de ressource (ResID) ou le compte Revendications de l’utilisateur dont vous souhaitez supprimer les données personnelles. Effectuez cette opération sur chacun des sites PWA que vous avez découverts à l’étape 1 (étant donné que les id de résiD diffèrent dans chaque instance PWA).

Exécutez le script SQL FindUser201x.sql pour rechercher l’ID de ressource ou le compte de revendications de l’utilisateur.

Remarque

Vous devez exécuter le script SQL FindUser201x.sql dans SQL Server Management Studio et disposer des autorisations d’administrateur de batterie pour avoir accès à la base de données appropriée.

Exécutez le script sur la base de données publiée pour Project Server 2010 ou sur la base de données du site PWA associé pour les versions ultérieures. Dans l’exemple de résultats fourni à l’étape 1, la base de données pour les trois instances Project Web App est WSS_Content .

Fournissez des valeurs pour les paramètres suivants dans le script :

Paramètre Description
@siteID (Project Server 2016 uniquement)
ID de site PWA pour le site dans lequel vous souhaitez trouver l’ID de ressource de l’utilisateur. Vous avez trouvé les valeurs d’ID de site PWA pour vos sites PWA à l’étape 1.
@searchName
Nom complet de l’utilisateur Project Server.

Par exemple, si vous souhaitez trouver l’id utilisateur d’Adam Barr sur le site Contoso PWA1 que vous avez trouvé dans l’exemple à l’étape 1, vous devez modifier les valeurs des paramètres du script comme suit :

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

Le script retourne les valeurs Nom de la ressource, ID de ressource, adresse e-mail et Compte de revendications pour l’utilisateur.

Étape 5 : Rechercher les projets qui contiennent l’utilisateur que vous recherchez

Vous pouvez utiliser l’ID de ressource que vous avez trouvé à l’étape 4 pour localiser les projets avec lesquels l’utilisateur a été impliqué. Pour ce faire, utilisez des scripts SQL pour interroger les données project stockées pour obtenir une liste de projets.

Il existe des scripts distincts pour chaque magasin de données dans Project Server. Les résultats des scripts sont susceptibles d’être similaires, même si vous pouvez voir des différences si vous avez des projets brouillons qui n’ont pas été publiés.

Avant d’exécuter les scripts, mettez-les à jour avec l’ID de ressource que vous recherchez.

Pour Project Server 2010, exécutez les scripts suivants :

(Veillez à lire la description en haut de chaque script. Certains scripts vous obligent à ajouter le nom de la base de données ou à mettre à jour d’autres paramètres.)

  • ExportDraftProjectList2010.sql

  • ExportPublishedProjectList2010.sql

  • ExportReportingProjectList2010.sql

Pour Project Server 2013, exécutez les scripts suivants :

  • ExportDraftProjectList2013.sql

  • ExportPublishedProjectList2013.sql

  • ExportReportingProjectList2013.sql

Pour Project Server 2016, exécutez les scripts suivants :

  • ExportDraftProjectList2016.sql

  • ExportPublishedProjectList2016.sql

  • ExportReportingProjectList2016.sql

Examinez la sortie des requêtes et déterminez les projets dans lesquels vous souhaitez trouver des données utilisateur spécifiques. Pour plus de commodité, vous pouvez exporter la liste de SQL Server vers un fichier CSV.

Une fois que vous avez déterminé les projets que vous souhaitez rechercher pour les informations utilisateur, exécutez les scripts suivants pour chaque projet, à l’aide de l’UID Project retourné par les scripts ci-dessus :

Pour Project Server 2010, exécutez les scripts suivants :

(Veillez à lire la description en haut de chaque script. Certains scripts vous obligent à ajouter le nom de la base de données ou à mettre à jour d’autres paramètres.)

  • ExportDraftProject2010.sql

  • ExportPublishedProject2010.sql

  • ExportReportingProjects2010.sql

  • ExportReportingProjectTimephasedData2010.sql

Pour Project Server 2013, exécutez les scripts suivants :

  • ExportDraftProject2013.sql

  • ExportPublishedProject2013.sql

  • ExportReportingProjects2013.sql

  • ExportReportingProjectTimephasedData2013.sql

Pour Project Server 2016, exécutez les scripts suivants :

  • ExportDraftProject2016.sql

  • ExportPublishedProject2016.sql

  • ExportReportingProjects2016.sql

  • ExportReportingProjectsTimephased2016.sql

Pour plus d’informations sur les valeurs de sortie de ces requêtes, consultez Données utilisateur propres à Project à partir des données de création de rapports.

Si vous avez besoin d’informations supplémentaires sur l’utilisateur, consultez l’étape 6 pour que les scripts récupèrent des informations sur les ressources, les feuilles de temps, l’état, etc.

Étape 6 : Requêtes supplémentaires pour exporter des données

Exécutez ces requêtes supplémentaires pour trouver des informations supplémentaires sur les ressources, les feuilles de temps, l’état, etc.

Pour plus d’informations sur l’exécution des scripts PowerShell, consultez Exécution des scripts PowerShell ci-dessous.

Exporter des données à partir de Project Server 2010

Pour exporter des données à partir de Project Server 2010, utilisez les scripts .sql et les scripts Microsoft PowerShell comme indiqué dans le tableau suivant. Pour plus d’informations sur chacun des champs de la sortie, consultez le lien dans la colonne Définitions de sortie .

(Veillez à lire la description en haut de chaque script. Certains scripts vous obligent à ajouter le nom de la base de données ou à mettre à jour d’autres paramètres.)

Option d’exportation Exécutez ces scripts : Définitions de sortie
Portefeuille
ExportPortfolioModels2010.sql
Pilotes
Hiérarchisations
Analyses
Plan des ressources
Export-ResourcePlanTimephasedData2010.ps1
ExportResourcePlans2010.sql
ExportReportingResourcePlans2010.sql
ResourcePlan
Ressources
ExportResource2010.sql
ExportReportingResource2010.sql
Resources
ReportingResource
Sécurité
ExportSecurity2010.sql
Sécurité
Paramètres du service
ExportServerSettings2010.sql
QueueJobs
CustomFields
LookupTables
Calendriers
UnsubscribedAlerts
SubscribedReminders
ReminderEmails
Délégations
Rapports d'état
ExportStatusReports2010.sql
StatusReports
TaskStatus
ExportAssignmentsSavedData2010.sql
ExportSubmittedTaskStatusUpdates2010.sql
ExportAssignmentTransactionHistory2010.sql
ExportAssignmentHistoryData2010.ps1
ExportSavedTaskStatusUpdates2010.sql
Export-SavedTaskStatusUpdates2010.ps1 (Remarque)
StatusAssignSaved
StatusAssignHistory
Feuilles de temps
ExportTimesheets2010.sql
ExportReportingTimesheets2010.sql
Feuilles de temps
Timesheets_Reporting
Paramètres d’affichage utilisateur
Export-UserViewSettings2010.ps1
UserViewSettings
Flux de travail
ExportWorkflow2010.sql
Flux de travail
Éléments de l’espace de travail
ExportWorkspaceItemsByDisplayName2010.sql
WorkspaceItems

Exporter des données à partir de Project Server 2013

Pour exporter des données à partir de Project Server 2013, utilisez les scripts .sql et les scripts Microsoft PowerShell comme indiqué dans le tableau suivant. Pour plus d’informations sur chacun des champs de la sortie, consultez le lien dans la colonne Définitions de sortie .

Option d’exportation Exécutez ces scripts : Définitions de sortie
Portefeuille
ExportPortfolioModels2013.sql
Pilotes
Hiérarchisations
Analyses
Plan des ressources
ExportResourcePlanTimephasedData2013.ps1
ExportResourcePlans2013.sql
ResourcePlan
Ressources
ExportResource2013.sql
ExportReportingResource2013.sql
Ressource
ReportingResource
Sécurité
ExportSecurity2013.sql
Sécurité
Paramètres du service
ExportServerSettings2013.sql
QueueJobs
CustomFields
LookupTables
Calendriers
UnsubscribedAlerts
SubscribedReminders
ReminderEmails
Délégations
Rapports d'état
ExportStatusReports2013.sql
StatusReports
TaskStatus
ExportAssignmentsSavedData2013.sql
ExportSubmittedTaskStatusUpdates2013.sql
ExportAssignmentTransactionHistory2013.sql
ExportAssignmentHistoryData2013.ps1
ExportSavedTaskStatusUpdates2013.sql
Export-SavedTaskStatusUpdates2013.ps1 (Remarque)
StatusAssignSaved
StatusAssignHistory
Feuilles de temps
ExportTimesheets2013.sql
ExportReportingTimesheets2013.sql
Feuilles de temps
Timesheets_Reporting
Paramètres d’affichage utilisateur
Export-UserViewSettings2013.ps1
UserViewSettings
Flux de travail
ExportWorkflow2013.sql
Flux de travail
Éléments de l’espace de travail
ExportWorkspaceItemsByDisplayName2013.sql
WorkspaceItems

Exporter des données à partir de Project Server 2016

Pour exporter des données à partir de Project Server 2016, utilisez les scripts .sql et les scripts Microsoft PowerShell, comme indiqué dans le tableau suivant. Pour plus d’informations sur chacun des champs de la sortie, consultez le lien dans la colonne Définitions de sortie .

Option d’exportation Exécutez ces scripts : Définitions de sortie
Engagements
ExportEngagementScripts2016.sql
Engagements
Portefeuille
ExportPortfolioModels2016.sql
Pilotes
Hiérarchisations
Analyses
Plan des ressources
ExportResourcePlans2016.sql
ResourcePlan
Ressources
ExportResource2016.sql
ExportReportingResource.sql
Ressource
ReportingResource
Sécurité
ExportSecurity2016.sql
Sécurité
Paramètres du service
ExportServerSettings2016.sql
QueueJobs
CustomFields
LookupTables
Calendriers
UnsubscribedAlerts
SubscribedReminders
ReminderEmails
Délégations
Rapports d'état
ExportStatusReports2016.sql
StatusReports
TaskStatus
ExportAssignmentsSavedData2016.sql
ExportSubmittedTaskStatusUpdates2016.sql
ExportAssignmentTransactionHistory2016.sql
ExportAssignmentHistoryData.ps1
ExportSavedTaskStatusUpdates2016.sql
Export-SavedTaskStatusUpdates2016.ps1
StatusAssignSaved
StatusAssignHistory
Feuilles de temps
ExportTimesheets2016.sql
ExportReportingTimesheets2016.sql
Feuilles de temps
Timesheets_Reporting
Paramètres d’affichage utilisateur
Export-UserViewSettings2016.ps1
UserViewSettings
Flux de travail
ExportWorkflow2016.sql
Flux de travail
Éléments de l’espace de travail
ExportWorkspaceItemsByDisplayName2016.sql
WorkspaceItems

Étape 7 - Éléments archivés

ExportArchievdData201x.sql retourne les données suivantes stockées dans la base de données archivée associée à la ressource.

Option d’exportation Définitions de sortie
Éléments archivés - Calendrier Calendriers
Éléments archivés - Champs personnalisés CustomFields
Éléments archivés - Tables de recherche Table de choix
Éléments archivés - Projets Liste des projets
ProjectVersionId (ID de version d’archive)
ProjectVersionDescription (date et heure de la sauvegarde)
ProjectVersionDate (date de la sauvegarde)
Éléments archivés - Ressource Ressource
Éléments archivés - Champs personnalisés de ressource Ressource : champs personnalisés

Données de projet archivées : pour exporter les projets archivés :

  1. Archivez le projet actuel. (2010)
  2. Restaurez la version archivée. (2010)
  3. Exportez les données associées à l’utilisateur.
  4. Restaurez le projet à partir de l’archive.

Données non-projet archivées :

  1. Utilisez la sauvegarde et la récupération SharePoint (2010) pour créer un clone de la batterie de serveurs actuelle.
  2. Restaurez les éléments archivés à partir de la sauvegarde et de la restauration d’administration (voir la procédure précédente).
  3. Exportez les données associées à l’utilisateur.

Étape 8 : Rechercher et enregistrer des pièces jointes, des vues et des fichiers VBA

Pour rechercher des pièces jointes et des vues, nous vous recommandons d’exporter un projet donné au format XML. Pour ce faire, ouvrez-le dans Project Professionnel, puis enregistrez-le en tant que fichier XML. Une fois que vous avez des fichiers XML pour les projets que vous souhaitez examiner, consultez Rechercher des éléments utilisateur personnalisés dans les données d’exportation utilisateur Project Online et Project Server.

Exécution des scripts PowerShell

Le tableau ci-dessous présente les paramètres requis pour un script donné. Exécutez chaque script dans sharePoint Management Shell en tant qu’administrateur de batterie.

Script Parameters
ResourcePlanTimephasedData201x.ps1
Export-SavedTaskStatusUpdates201x.ps1
ExportTaskStatusUpdateHistory201x.ps1
ProjectServerURL
ResId
Outputpath
PromptForCredential
UseWebLogin
Sync-ProjectWorkspace201x.ps1 ProjectServerURL
ProjectId
PromptForCredential
UseWebLogin
Export-UserViewSettings201x.ps1 ProjectServerURL
ResId
Outputpath

Ces paramètres sont décrits dans le tableau suivant :

Paramètre Description
ProjectServerURL URL du site PWA
ResId ID de ressource de l’utilisateur
Outputpath Emplacement où stocker les fichiers d’exportation.
ProjectId Espace de travail de projet à synchroniser

Incluez également l’un des paramètres d’autorisation suivants chaque fois que vous exécutez un script :

Paramètre d’authentification Description
[rien n’est passé] Authentifiez-vous à l’aide de NTLM et du protocole Kerberos en tant qu’utilisateur actuel.
PromptForCredential Authentifiez-vous à l’aide du protocole De base ou digest ou à l’aide de NTLM et/ou Kerberos avec un autre utilisateur.
UseWebLogin Authentifiez-vous à l’aide de formulaires et du protocole ADFS/SAML.

Par exemple :

.\Export-UserViewSettings2016.ps1 -ProjectServerURL "https://pwa" -resId "55efd6ff-853c-4fec-8abd-6df2c90b94e5" -OutputPath "C:\"

Consultez chaque fichier de script PowerShell pour obtenir d’autres exemples et informations sur les paramètres.

Exécution Export-SavedTaskStatusUpdates201x.ps1 (2010 et 2013 uniquement)

Pour exécuter le script Export-SavedTaskStatusUpdates201x.ps1, vous devez exécuter en tant que délégué de l’utilisateur exporté afin d’afficher l’affectation enregistrée. Pour cela, procédez comme suit :

  1. Activer la délégation dans Project Server
  2. Activer les autorisations de délégation sur l’utilisateur en cours d’exportation
  3. Activez les autorisations de délégation sur vous-même pour déléguer en tant qu’utilisateur. (En tant qu’administrateur, vous disposez peut-être déjà d’autorisations.)
  4. Configurez-vous en tant que délégué de l’utilisateur exporté
  5. Connectez-vous à Project Web App.
  6. Cliquez sur l’icône d’engrenage, puis sur Agir en tant que délégué.
  7. Démarrez une session de délégué.
  8. Exécutez le script PowerShell Export-SavedTaskStatusUpdates201x.ps1.
  9. Arrêtez la session du délégué.

Voir aussi

Suppression de données utilisateur de Project Server