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 5 : Rechercher les projets qui contiennent l’utilisateur que vous recherchez
Étape 6 : Requêtes supplémentaires pour exporter des données
É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 :
Télécharger les scripts d’exportation : téléchargez les scripts .sql et Microsoft PowerShell pour l’exportation des données utilisateur.
Rechercher les sites PWA dans votre environnement : recherchez une liste d’instances Project Web App dans votre batterie de serveurs Project Server.
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.
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 :
Dans Explorateur de fichiers, accédez à l’emplacement où vous avez enregistré le fichier zip.
Cliquez avec le bouton droit sur le fichier zip, puis cliquez sur Propriétés.
Sous l’onglet Général , sélectionnez Débloquer.
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 :
- Archivez le projet actuel. (2010)
- Restaurez la version archivée. (2010)
- Exportez les données associées à l’utilisateur.
- Restaurez le projet à partir de l’archive.
Données non-projet archivées :
- Utilisez la sauvegarde et la récupération SharePoint (2010) pour créer un clone de la batterie de serveurs actuelle.
- Restaurez les éléments archivés à partir de la sauvegarde et de la restauration d’administration (voir la procédure précédente).
- 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 :
- Activer la délégation dans Project Server
- Activer les autorisations de délégation sur l’utilisateur en cours d’exportation
- 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.)
- Configurez-vous en tant que délégué de l’utilisateur exporté
- Connectez-vous à Project Web App.
- Cliquez sur l’icône d’engrenage, puis sur Agir en tant que délégué.
- Démarrez une session de délégué.
- Exécutez le script PowerShell Export-SavedTaskStatusUpdates201x.ps1.
- Arrêtez la session du délégué.