Exportar datos de usuario de Project Server
Importante:: en este artículo se describe cómo exportar datos de usuario de Project Server 2016, Project Server 2013 o Project Server 2010. El proceso para exportar datos de usuario de Project Server 2019 es muy diferente de la versión anterior y no está incluido en este artículo. Para obtener información sobre cómo exportar datos de usuario de versiones anteriores de Project Server 2019 Public Preview, consulte Exportación de datos de usuario en Project Server 2019 Public Preview.
Su organización puede exportar el contenido de un usuario específico desde el entorno de Project Server. Para exportar este contenido, un administrador de la granja de servidores de Project Server puede seguir estos pasos:
Paso 1: Descarga de los archivos de script de exportación
Paso 2: Buscar las instancias de Project Web App en la granja de servidores de SharePoint Server
Paso 3: Exportación de elementos del área de trabajo para el usuario
Paso 5: Buscar proyectos que contengan el usuario que está buscando
Paso 6: Consultas adicionales para exportar datos
Paso 8: Buscar y guardar datos adjuntos, vistas y archivos VBA
Información general sobre los procesos
A continuación se muestra información general del proceso para exportar la información de un usuario específico de Project Web App:
Descargue los scripts de exportación: descargue los scripts .sql y Microsoft PowerShell para exportar datos de usuario.
Buscar los sitios de PWA en su entorno: busque una lista de instancias de Project Web App en la granja de servidores de Project Server.
Buscar el identificador de recurso del usuario: en cada instancia de Project Web App, busque el identificador de recurso único para el usuario. También puede elegir especificar la notificación de usuario.
Realizar una exportación de los datos del usuario: exporte la información que desea revisar mediante los scipts.
Uso de scripts para diferentes versiones de Project Server
Este artículo se aplica a Project Server 2016, Project Server 2013 y Project Server 2010. Aunque el proceso general se aplica a las tres versiones, hay detalles que se pueden aplicar a las distintas versiones, especialmente cuando se ejecutan los scripts SQL. Estos se indican en las secciones siguientes. Asegúrese de que ha implementado las actualizaciones más recientes en la granja de servidores y Project Profesional clientes.
Nota:
Project Author no se exporta como parte de los procedimientos de este artículo.
Paso 1: Descarga de los archivos de script de exportación
Descargue los scripts de exportación del Centro de descarga de Microsoft.
La descarga contiene un archivo ZIP con carpetas independientes para cada versión de Project Server. Use los scripts para la versión o Project Server como se describe en el paso 5, a continuación.
Notas importantes sobre cómo ejecutar los scripts de exportación:
La carpeta script contiene varios archivos .wsdl. Estos son necesarios para los scripts de PowerShell. Asegúrese de que están en el mismo directorio que los scripts de PowerShell al ejecutarlos.
El script SetupReportingProcedures201x.sql crea temporalmente algunos procedimientos almacenados globales en memoria que están disponibles en la sesión sql. Estos procedimientos almacenados son necesarios para los siguientes scripts:
ExportReportingProject201x.sql
ExportReportingResource201x.sql
ExportTimesheetReporting201x.sql
Nota:
Ejecute SetupReportingProcedures201x.sql antes de ejecutar cualquiera de estos scripts.
Cada script tiene una o varias variables que deben definirse (como UserID o nombre de base de datos) antes de ejecutarlo. Compruebe la sección de descripción en el propio script para ver los parámetros necesarios.
Ejecute cada script .sql en el contexto de la base de datos donde reside la información. Debe tener permisos de db_datareader en la base de datos.
Es posible que tenga que "desbloquear" el archivo ZIP porque, de forma predeterminada, no se permite ejecutar scripts descargados de Internet. Haga lo siguiente para desbloquear los archivos:
En Explorador de archivos, vaya a la ubicación donde guardó el archivo ZIP.
Haga clic con el botón derecho en el archivo ZIP y haga clic en Propiedades.
En la pestaña General , seleccione Desbloquear.
Haga clic en Aceptar.
Todos los archivos incluidos en el archivo ZIP ahora deben estar desbloqueados. Para comprobarlo en los archivos individuales, compruebe si la opción Desbloqueo ya no aparece en la pestaña General de la página Propiedades del archivo.
Nota:
Si solo tiene acceso a archivos descomprimidos, también puede desbloquear cada archivo individualmente.
Paso 2: Buscar las instancias de Project Web App en la granja de servidores de SharePoint Server
Use el cmdlet Get-SPProjectWebInstance con los filtros siguientes para obtener la dirección URL, el identificador de sitio y el nombre de la base de datos de los sitios de PWA que existen en la granja de servidores de SharePoint Server:
Get-SPProjectWebInstance | ft -a Url,SiteId,DatabaseName,DatabaseServer
Necesitará la información de cada sitio cuando elimine los datos personales del usuario en un paso posterior.
Por ejemplo, la ejecución del cmdlet en nuestra granja de servidores de Ejemplo de Contoso Project Server podría devolver los tres sitios PWA siguientes:
URL | SiteID | Base de datos | 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 |
Buscar las instancias de Project Web App en una granja de servidores de SharePoint Server 2010
Para Project Server 2010, también debe encontrar el identificador de aplicación de servicio de la aplicación de servicio PSI de Project Server . Para ello, ejecute el cmdlet Get-ServiceApplication de PowerShell con los parámetros siguientes:
Get-SPServiceApplication | ? { $_.TypeName -eq "Project Server PSI Service Application" } | ft -a
Esto también devolverá el nombre de la aplicación de servicio de Project Server. A continuación, puede usar el cmdlet Get-SPProjectWebInstance para devolver los nombres de las cuatro bases de datos de Project Server especificando el nombre de la aplicación de servicio con el parámetro -ServiceApplication:
Get-SPProjectWebInstance -ServiceApplication "Project Server" | ft -a Url,PrimaryServer,PublishedDatabase,DraftDatabase,ArchiveDatabase,ReportingServer,ReportingDatabase
Debe poder hacer referencia a los nombres de base de datos de cada base de datos.
Nota:
La base de datos de informes de Project Server 2010 se puede encontrar en una instancia diferente de SQL Server que las otras tres bases de datos.
Paso 3: Exportación de elementos del área de trabajo para el usuario
Ejecute el script ExportWorkspaceItemsByDisplayName201x.sql y busque datos con posibles nombres para mostrar del usuario (búsquedas parciales de nombres).
Ejecute el script en la base de datos de informes para Project Server 2010 o en la base de datos del sitio PWA relacionado para versiones posteriores. En los resultados de ejemplo proporcionados en el paso 1, la base de datos de las tres instancias de Project Web App se WSS_Content .
Proporcione valores para los parámetros siguientes en el script:
Parámetro | Descripción |
---|---|
@siteID (solo Project Server 2016) |
Identificador de sitio de PWA para el sitio en el que desea encontrar el identificador de recurso del usuario. En el paso 1, encontró los valores de id. de sitio de PWA para los sitios de PWA. |
@resDisplayName |
Nombre para mostrar, o nombre para mostrar parcial, del usuario de Project Server. |
Paso 4: Buscar el identificador de recurso del usuario o la cuenta de notificaciones en cada sitio de PWA
Después de obtener información de todos los sitios PWA de la granja de servidores de Project Server, a continuación, debe encontrar el identificador de recurso (ResID) o la cuenta de notificaciones del usuario cuyos datos personales desea eliminar. Haga esto en cada uno de los sitios de PWA detectados en el paso 1 (ya que los resID difieren en cada instancia de PWA).
Ejecute el script SQL FindUser201x.sql para buscar el identificador de recurso o la cuenta de notificaciones del usuario.
Nota:
Debe ejecutar el script SQL FindUser201x.sql en SQL Server Management Studio y debe tener permisos de administrador de granja de servidores para tener acceso a la base de datos adecuada.
Ejecute el script en la base de datos publicada para Project Server 2010 o en la base de datos del sitio PWA relacionado para versiones posteriores. En los resultados de ejemplo proporcionados en el paso 1, la base de datos de las tres instancias de Project Web App se WSS_Content .
Proporcione valores para los parámetros siguientes en el script:
Parámetro | Descripción |
---|---|
@siteID (solo Project Server 2016) |
Identificador de sitio de PWA para el sitio en el que desea encontrar el identificador de recurso del usuario. En el paso 1, encontró los valores de id. de sitio de PWA para los sitios de PWA. |
@searchName |
Nombre para mostrar del usuario de Project Server. |
Por ejemplo, si desea encontrar el id. de usuario para Adam Barr en el sitio PWA1 de Contoso que encontró en el ejemplo del paso 1, editaría los valores de los parámetros del script de la siguiente manera:
DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @searchName nvarchar(255) = 'Adam Barr'
El script devuelve los valores Nombre del recurso, Id. de recurso, dirección de correo electrónico y Cuenta de notificaciones para el usuario.
Paso 5: Buscar proyectos que contengan el usuario que está buscando
Puede usar el identificador de recurso que encontró en el paso 4 para buscar los proyectos con los que el usuario participó. Esto se hace mediante scripts SQL para consultar los datos de Project almacenados para obtener una lista de proyectos.
Hay scripts independientes para cada uno de los almacenes de datos en Project Server. Es probable que los resultados de los scripts sean similares, aunque es posible que vea algunas diferencias si tiene proyectos de borrador que no se han publicado.
Antes de ejecutar los scripts, actualícelos con el identificador de recurso que está buscando.
Para Project Server 2010, ejecute estos scripts:
(Asegúrese de leer la descripción en la parte superior de cada script. Algunos scripts requieren que agregue el nombre de la base de datos o actualice otros parámetros).
ExportDraftProjectList2010.sql
ExportPublishedProjectList2010.sql
ExportReportingProjectList2010.sql
Para Project Server 2013, ejecute estos scripts:
ExportDraftProjectList2013.sql
ExportPublishedProjectList2013.sql
ExportReportingProjectList2013.sql
Para Project Server 2016, ejecute estos scripts:
ExportDraftProjectList2016.sql
ExportPublishedProjectList2016.sql
ExportReportingProjectList2016.sql
Examine la salida de las consultas y determine los proyectos en los que desea encontrar datos de usuario específicos. Es posible que desee exportar la lista de SQL Server a un archivo CSV para mayor comodidad.
Cuando haya determinado qué proyectos desea buscar información de usuario, ejecute los siguientes scripts para cada proyecto mediante el ProjectUID devuelto por los scripts anteriores:
Para Project Server 2010, ejecute estos scripts:
(Asegúrese de leer la descripción en la parte superior de cada script. Algunos scripts requieren que agregue el nombre de la base de datos o actualice otros parámetros).
ExportDraftProject2010.sql
ExportPublishedProject2010.sql
ExportReportingProjects2010.sql
ExportReportingProjectTimephasedData2010.sql
Para Project Server 2013, ejecute estos scripts:
ExportDraftProject2013.sql
ExportPublishedProject2013.sql
ExportReportingProjects2013.sql
ExportReportingProjectTimephasedData2013.sql
Para Project Server 2016, ejecute estos scripts:
ExportDraftProject2016.sql
ExportPublishedProject2016.sql
ExportReportingProjects2016.sql
ExportReportingProjectsTimephased2016.sql
Para obtener información sobre los valores de salida de estas consultas, consulte Datos de usuario específicos del proyecto de los datos de informes.
Si necesita información adicional del usuario, consulte el paso 6 para obtener scripts para recuperar información sobre recursos, partes de horas, estado, etc.
Paso 6: Consultas adicionales para exportar datos
Ejecute estas consultas adicionales para encontrar información adicional sobre recursos, partes de horas, estado, etc.
Consulte Ejecución de los scripts de PowerShell a continuación para obtener información sobre cómo ejecutar los scripts de PowerShell.
Exportación de datos desde Project Server 2010
Para exportar datos de Project Server 2010, use los scripts .sql y los scripts de Microsoft PowerShell, como se indica en la tabla siguiente. Para obtener más información sobre cada uno de los campos de la salida, vea el vínculo de la columna Definiciones de salida .
(Asegúrese de leer la descripción en la parte superior de cada script. Algunos scripts requieren que agregue el nombre de la base de datos o actualice otros parámetros).
Opción de exportación | Ejecute estos scripts: | Definiciones de salida |
---|---|---|
Cartera |
ExportPortfolioModels2010.sql |
Controladores Priorizaciones Análisis |
Planeamientos de recursos |
Export-ResourcePlanTimephasedData2010.ps1 ExportResourcePlans2010.sql ExportReportingResourcePlans2010.sql |
ResourcePlan |
Recursos |
ExportResource2010.sql ExportReportingResource2010.sql |
Recursos ReportingResource |
Seguridad |
ExportSecurity2010.sql |
Seguridad |
Configuración del servicio |
ExportServerSettings2010.sql |
QueueJobs CustomFields LookupTables Calendarios UnsubscribedAlerts SubscribedReminders ReminderEmails Delegaciones |
Informes de estado |
ExportStatusReports2010.sql |
Informes de estado |
TaskStatus |
ExportAssignmentsSavedData2010.sql ExportSubmittedTaskStatusUpdates2010.sql ExportAssignmentTransactionHistory2010.sql ExportAssignmentHistoryData2010.ps1 ExportSavedTaskStatusUpdates2010.sql Export-SavedTaskStatusUpdates2010.ps1 (Nota) |
StatusAssignSaved StatusAssignHistory |
Partes de horas |
ExportTimesheets2010.sql ExportReportingTimesheets2010.sql |
Partes de horas Timesheets_Reporting |
Configuración de la vista de usuario |
Export-UserViewSettings2010.ps1 |
UserViewSettings |
Flujo de trabajo |
ExportWorkflow2010.sql |
Flujo de trabajo |
Elementos del área de trabajo |
ExportWorkspaceItemsByDisplayName2010.sql |
WorkspaceItems |
Exportación de datos desde Project Server 2013
Para exportar datos de Project Server 2013, use los scripts .sql y los scripts de Microsoft PowerShell, como se indica en la tabla siguiente. Para obtener más información sobre cada uno de los campos de la salida, vea el vínculo de la columna Definiciones de salida .
Opción de exportación | Ejecute estos scripts: | Definiciones de salida |
---|---|---|
Cartera |
ExportPortfolioModels2013.sql |
Controladores Priorizaciones Análisis |
Planeamientos de recursos |
ExportResourcePlanTimephasedData2013.ps1 ExportResourcePlans2013.sql |
ResourcePlan |
Recursos |
ExportResource2013.sql ExportReportingResource2013.sql |
Recurso ReportingResource |
Seguridad |
ExportSecurity2013.sql |
Seguridad |
Configuración del servicio |
ExportServerSettings2013.sql |
QueueJobs CustomFields LookupTables Calendarios UnsubscribedAlerts SubscribedReminders ReminderEmails Delegaciones |
Informes de estado |
ExportStatusReports2013.sql |
Informes de estado |
TaskStatus |
ExportAssignmentsSavedData2013.sql ExportSubmittedTaskStatusUpdates2013.sql ExportAssignmentTransactionHistory2013.sql ExportAssignmentHistoryData2013.ps1 ExportSavedTaskStatusUpdates2013.sql Export-SavedTaskStatusUpdates2013.ps1 (Nota) |
StatusAssignSaved StatusAssignHistory |
Partes de horas |
ExportTimesheets2013.sql ExportReportingTimesheets2013.sql |
Partes de horas Timesheets_Reporting |
Configuración de la vista de usuario |
Export-UserViewSettings2013.ps1 |
UserViewSettings |
Flujo de trabajo |
ExportWorkflow2013.sql |
Flujo de trabajo |
Elementos del área de trabajo |
ExportWorkspaceItemsByDisplayName2013.sql |
WorkspaceItems |
Exportación de datos desde Project Server 2016
Para exportar datos de Project Server 2016, use los scripts .sql y los scripts de Microsoft PowerShell, como se indica en la tabla siguiente. Para obtener más información sobre cada uno de los campos de la salida, vea el vínculo de la columna Definiciones de salida .
Opción de exportación | Ejecute estos scripts: | Definiciones de salida |
---|---|---|
Contrataciones |
ExportEngagementScripts2016.sql |
Contrataciones |
Cartera |
ExportPortfolioModels2016.sql |
Controladores Priorizaciones Análisis |
Planeamientos de recursos |
ExportResourcePlans2016.sql |
ResourcePlan |
Recursos |
ExportResource2016.sql ExportReportingResource.sql |
Recurso ReportingResource |
Seguridad |
ExportSecurity2016.sql |
Seguridad |
Configuración del servicio |
ExportServerSettings2016.sql |
QueueJobs CustomFields LookupTables Calendarios UnsubscribedAlerts SubscribedReminders ReminderEmails Delegaciones |
Informes de estado |
ExportStatusReports2016.sql |
Informes de estado |
TaskStatus |
ExportAssignmentsSavedData2016.sql ExportSubmittedTaskStatusUpdates2016.sql ExportAssignmentTransactionHistory2016.sql ExportAssignmentHistoryData.ps1 ExportSavedTaskStatusUpdates2016.sql Export-SavedTaskStatusUpdates2016.ps1 |
StatusAssignSaved StatusAssignHistory |
Partes de horas |
ExportTimesheets2016.sql ExportReportingTimesheets2016.sql |
Partes de horas Timesheets_Reporting |
Configuración de la vista de usuario |
Export-UserViewSettings2016.ps1 |
UserViewSettings |
Flujo de trabajo |
ExportWorkflow2016.sql |
Flujo de trabajo |
Elementos del área de trabajo |
ExportWorkspaceItemsByDisplayName2016.sql |
WorkspaceItems |
Paso 7: Elementos archivados
ExportArchievdData201x.sql devolverá los siguientes datos almacenados en la base de datos archivada relacionada con el recurso.
Opción de exportación | Definiciones de salida |
---|---|
Elementos archivados: calendario | Calendarios |
Elementos archivados: campos personalizados | CustomFields |
Elementos archivados: tablas de búsqueda | Tabla de consulta |
Elementos archivados: proyectos |
Lista de proyectos ProjectVersionId (id. de versión de archivo) ProjectVersionDescription (fecha y hora de la copia de seguridad) ProjectVersionDate (fecha de la copia de seguridad) |
Elementos archivados: recurso | Recurso |
Elementos archivados: campos personalizados de recursos | Recurso: campos personalizados |
Datos de proyecto archivados: para exportar proyectos archivados:
- Archive el proyecto actual. (2010)
- Restaure la versión archivada. (2010)
- Exporte los datos relacionados con el usuario.
- Restaure el proyecto desde el archivo.
Datos archivados que no son de proyecto:
- Use la copia de seguridad y recuperación de SharePoint (2010) para crear un clon de la granja actual.
- Restaure los elementos archivados desde Copia de seguridad y restauración administrativas (consulte el procedimiento anterior).
- Exporte los datos relacionados con el usuario.
Paso 8: Buscar y guardar datos adjuntos, vistas y archivos VBA
Para buscar datos adjuntos y vistas, se recomienda exportar un proyecto determinado a XML. Para ello, ábralo en Project Profesional y guárdelo como un archivo XML. Una vez que tenga archivos XML para los proyectos que desea revisar, consulte Buscar elementos de usuario personalizados en Project Online y Datos de exportación de usuarios de Project Server.
Ejecución de scripts de PowerShell
En la tabla siguiente se muestran los parámetros necesarios para un script determinado. Ejecute cada script en un Shell de administración de SharePoint como administrador de la granja de servidores.
Script | Parameters |
---|---|
ResourcePlanTimephasedData201x.ps1 Export-SavedTaskStatusUpdates201x.ps1 ExportTaskStatusUpdateHistory201x.ps1 |
ProjectServerURL Resnum OutputPath PromptForCredential UseWebLogin |
Sync-ProjectWorkspace201x.ps1 | ProjectServerURL ProjectId PromptForCredential UseWebLogin |
Export-UserViewSettings201x.ps1 | ProjectServerURL Resnum OutputPath |
Estos parámetros se describen en la siguiente tabla.
Parámetro | Descripción |
---|---|
ProjectServerURL | Dirección URL del sitio PWA |
Resnum | Identificador de recurso del usuario |
OutputPath | Ubicación para almacenar los archivos de exportación. |
ProjectId | Área de trabajo del proyecto que se va a sincronizar |
Incluya también uno de los siguientes parámetros de autorización cada vez que ejecute un script:
Parámetro Auth | Descripción |
---|---|
[nada pasado] | Autentíquese con NTLM y el protocolo Kerberos como el usuario actual. |
PromptForCredential | Autentíquese mediante el protocolo básico o de síntesis o mediante NTLM o Kerberos con un usuario diferente. |
UseWebLogin | Autentíquese mediante formularios y el protocolo ADFS/SAML. |
Por ejemplo:
.\Export-UserViewSettings2016.ps1 -ProjectServerURL "https://pwa" -resId "55efd6ff-853c-4fec-8abd-6df2c90b94e5" -OutputPath "C:\"
Consulte cada archivo de script de PowerShell para obtener más ejemplos e información sobre los parámetros.
Ejecución de Export-SavedTaskStatusUpdates201x.ps1 (solo 2010 y 2013)
Para ejecutar el script de Export-SavedTaskStatusUpdates201x.ps1, debe ejecutarse como delegado del usuario que se va a exportar para ver la asignación guardada. Haga lo siguiente:
- Activar la delegación en Project Server
- Habilitación de permisos de delegación en el usuario que se va a exportar
- Habilite los permisos de delegación en sí mismo para delegar como ese usuario. (Como administrador, es posible que ya tenga permisos).
- Configurarse como delegado del usuario que se va a exportar
- Inicie sesión en Project Web App.
- Haga clic en el icono de engranaje y, a continuación, haga clic en Actuar como delegado.
- Inicie una sesión de delegado.
- Ejecute el script de PowerShell Export-SavedTaskStatusUpdates201x.ps1.
- Detenga la sesión de delegado.