Scripts para tareas administrativas y de implementación

Reporting Services admite el uso de scripts para automatizar las tareas rutinarias de instalación, implementación y administración. La implementación de un servidor de informes es un proceso de varios pasos en el que deben usarse varias herramientas y procedimientos de configuración: no existe ningún programa o método que automatice todas las tareas.

Tampoco se recomienda automatizar siempre todos los pasos. A veces, la manera más sencilla y eficaz de realizar un paso es hacerlo manualmente o a través de una herramienta gráfica. Por ejemplo, si se desea implementar muchos informes y modelos, es mejor copiar las bases de datos del servidor de informes que escribir código para volver a crear el entorno del servidor de informes.

Algunos pasos requieren código personalizado. Por ejemplo, la configuración de las direcciones URL para el servicio web y el Administrador de informes se puede automatizar, pero sólo si se escribe código personalizado que realice llamadas al proveedor WMI (Instrumental de administración de Windows) del servidor de informes. Si no se desea escribir código, deberá usarse la herramienta de configuración de Reporting Services para realizar este paso.

Para ejecutar el script que configura un servidor de informes, debe ser un administrador local en el equipo que está configurando. Para obtener más información, vea Cómo configurar un servidor de informes para la administración remota.

En este tema se describen los enfoques recomendados para automatizar algunos pasos específicos. Se mencionan varios programas e interfaces de programación; podrá ver descripciones de cada uno de ellos más adelante en este tema.

Tareas de implementación y procedimientos para automatizarlas

En la tabla siguiente se resumen todas las tareas de instalación y configuración que son necesarias para implementar un servidor de informes. Quizás le sea de utilidad para relacionar una tarea específica con un método que le permita automatizarla o realizarla de manera desatendida.

Tarea

Método

Instalar Reporting Services.

Puede ejecutar el programa de instalación desde la línea de comandos para realizar una instalación desatendida.

Puede usar el programa de instalación para instalar y configurar un servidor de informes, pero sólo si especifica la opción de configuración predeterminada y el sistema cumple todos los requisitos de este tipo de instalación. Si no puede instalar la configuración predeterminada, deberá realizar una instalación de sólo archivos. Para obtener más información acerca de las opciones de instalación, vea Consideraciones para instalar Reporting Services.

Configurar la cuenta de servicio.

La cuenta de servicio se configura inicialmente a través de la instalación. Para automatizar los cambios a la cuenta de servicio como una tarea posterior a la instalación, debe escribir código personalizado que realice llamadas al proveedor WMI del servidor de informes. No hay ninguna utilidad de símbolo del sistema o plantillas de scripts para configurar la cuenta de servicio mediante programación.

Si los requisitos de codificación evitan que automatice este paso, puede configurar con facilidad la cuenta manualmente ejecutando la herramienta de configuración de Reporting Services. Para obtener más información, vea Cómo configurar una cuenta de servicio para Reporting Services.

Configurar el servicio web del servidor de informes y las direcciones URL del Administrador de informes.

Debe escribir código personalizado que realice llamadas al proveedor WMI del servidor de informes. No hay ninguna utilidad de línea de comandos o plantillas de scripts para configurar las direcciones URL.

Si desea evitar escribir código, puede configurar las direcciones URL manualmente ejecutando la herramienta de configuración de Reporting Services. Para obtener más información, vea Cómo configurar una dirección URL (Configuración de Reporting Services).

Crear la base de datos del servidor de informes.

Debe escribir código personalizado que realice llamadas al proveedor WMI del servidor de informes. No hay ninguna utilidad de símbolo del sistema o plantillas de script para crear las bases de datos del servidor de informes y RSExecRole.

Si desea evitar escribir código, puede crear la base de datos manualmente ejecutando la herramienta de configuración de Reporting Services. Para obtener más información, vea Cómo crear una base de datos de servidor de informes (configuración de Reporting Services).

Configurar la conexión a la base de datos del servidor de informes.

Si está cambiando la cadena de conexión, la cuenta o la contraseña, o el tipo de autenticación, ejecute la utilidad rsconfig para configurar la conexión. Para obtener más información, vea Configurar una conexión a la base de datos del servidor de informes y rsconfig (utilidad).

No puede utilizar rsconfig.exe para crear o actualizar la base de datos. La base de datos y RSExecRole deben existir ya.

Configurar una implementación escalada

Para automatizar una implementación escalada, elija uno de los métodos siguientes:

Realizar una copia de seguridad de las claves de cifrado

Para automatizar el procedimiento de copia de seguridad de las claves de cifrado, elija uno de los métodos siguientes:

Configurar el correo electrónico del servidor de informes

Escriba código personalizado que se ejecute en el proveedor WMI de Reporting Services. El proveedor admite un subconjunto de los valores de configuración de correo electrónico.

Aunque el archivo RSReportServer.config incluye toda la configuración, no utilice el archivo de forma automatizada. En concreto, no utilice un archivo por lotes para copiar el archivo en otro servidor de informes. Cada archivo de configuración incluye valores específicos de la instancia actual. Dichos valores no serán válidos en otras instancias del servidor de informes.

Para obtener más información sobre estos valores de configuración, vea Configurar un servidor de informes para la entrega por correo electrónico.

Configurar la cuenta de ejecución desatendida

Para automatizar la configuración de la cuenta de procesamiento desatendido, elija uno de los métodos siguientes:

  • Ejecute la utilidad rsconfig.exe para configurar la cuenta. Para obtener más información, vea Configurar la cuenta de ejecución desatendida.

  • Escriba código personalizado que realice llamadas al proveedor WMI del servidor de informes.

Implementar contenido existente en otro servidor de informes, incluyendo la jerarquía de carpetas, las asignaciones de funciones, los informes, las suscripciones, las programaciones, los orígenes de datos y los recursos.

La mejor forma de volver a crear un entorno de servidor de informes existente es copiar la base de datos del servidor de informes en una nueva instancia del servidor de informes.

Un método alternativo es escribir código personalizado que vuelva a crear el contenido del servidor de informes existente mediante programación. Sin embargo, tenga en cuenta que las suscripciones, las instantáneas del informe y el historial del informe no se pueden volver a crear mediante programación.

Algunas implementaciones pueden beneficiarse de ambas técnicas, es decir, restaurar una base de datos del servidor de informes y, después, ejecutar código personalizado con el fin de modificar la base de datos del servidor de informes para una instalación específica.

Para obtener más información sobre cómo modificar la ubicación de una base de datos del servidor de informes, vea Mover las bases de datos del servidor de informes a otro equipo. Para obtener más información acerca de la creación del entorno del servidor de informes mediante programación, vea la sección "Usar los scripts para migrar las carpetas y el contenido del servidor de informes" en este tema.

Herramientas y tecnologías para automatizar la implementación del servidor

En la lista siguiente se resumen los programas y las interfaces que se pueden utilizar para automatizar las tareas de implementación y mantenimiento:

  • El programa de instalación se puede ejecutar en modo desatendido para instalar y, en algunos casos, configurar los componentes del servidor de informes. Debe usar la opción de instalación de sólo archivos para que el programa de instalación configure una instancia de servidor de informes.

  • Se pueden usar el proveedor WMI de Reporting Services y las utilidades de línea de comandos de Reporting Services para la configuración local y remota del servidor.

    El proveedor WMI de Reporting Services expone las clases, propiedades y métodos que permiten al usuario configurar todos los aspectos de una instalación de Reporting Services, lo que incluye la especificación de cuentas de servicio, la configuración de direcciones URL, la creación y configuración de la base de datos del servidor de informes o la configuración de un servidor de informes para la entrega por correo electrónico. Para utilizar el proveedor WMI, es necesario escribir script o código personalizados. Para obtener más información, vea Proveedor WMI de Reporting Services.

    Las utilidades de la línea de comandos (rsconfig.exe y rskeymgmt.exe) son una alternativa a escribir código. Se pueden escribir archivos por lotes que ejecuten las utilidades. Estas utilidades permiten automatizar algunas tareas de configuración, pero no todas.

  • La herramienta de host del script del servidor de informes (rs.exe) puede ejecutar código personalizado de MicrosoftVisual Basic que se haya escrito para volver a crear o mover el contenido de un servidor de informes a otro. Con este método, se escriben scripts en Visual Basic, se guardan como archivos .rss y, después, se usa rs.exe para ejecutarlos en el servidor de informes de destino. Los scripts escritos pueden llamar a la interfaz SOAP para el servicio Web del servidor de informes. Los scripts de implementación se escriben siguiendo este método porque es posible volver a crear un espacio de nombres de carpetas del servidor de informes y su contenido, así como volver a crear la seguridad basada en funciones.

Usar los scripts para migrar las carpetas y el contenido del servidor de informes

Se pueden escribir scripts que dupliquen un entorno de servidor de informes en otra instancia de servidor de informes. Los scripts de implementación suelen escribirse en Visual Basic y, a continuación, se procesan mediante la utilidad del host de scripts del servidor de informes.

Utilice scripts para copiar carpetas, orígenes de datos compartidos, recursos, informes, asignaciones de funciones y parámetros de un servidor a otro. Puede escribir un script para una instancia de servidor de informes y, a continuación, ejecutarlo en otro servidor para volver a crear el espacio de nombres del servidor de informes. Si existen varios servidores de informes en la implementación de Reporting Services, puede ejecutar el script en cada servidor individualmente para configurar todos los servidores de la misma manera.

En la siguiente lista, se describen los pasos necesarios para migrar informes de un servidor a otro.

  1. Defina la variable de script con la dirección URL del servidor de informes de origen.

  2. Utilice los métodos GetReportDefinition y GetProperties para recuperar la definición de informe y las propiedades del informe.

  3. Establezca la dirección URL para que señale al servidor de destino.

  4. Utilice el método CreateReport, pasando las propiedades devueltas desde GetProperties y la definición del informe devuelta por GetReportDefinition.

Combinando métodos de obtención y creación, puede realizar pasos similares que le permitan migrar parámetros, carpetas, orígenes de datos compartidos y recursos. Para obtener más información acerca de los métodos disponibles, vea Referencia técnica (Reporting Services).

[!NOTA]

Los scripts se ejecutan con las credenciales de Microsoft Windows del usuario que ejecuta el script, salvo que las credenciales se establezcan explícitamente.

Para obtener más información acerca de los ejemplos de scripts, vea Sample Scripts. Para obtener más información sobre cómo ejecutar y dar formato a un archivo de scripts, vea Crear scripts con la utilidad de rs y el servicio web.

Usar scripts para establecer propiedades del servidor

Puede escribir scripts que establezcan propiedades del sistema en el servidor de informes. El script de Visual Basic .NET siguiente muestra una manera de establecer las propiedades. Este ejemplo deshabilita el control ActiveX RSClientPrint, aunque es posible sustituir EnableClientPrinting y False por cualquier nombre y valor de propiedad válidos. Para obtener una lista completa de propiedades de servidor, vea Propiedades del sistema del servidor de informes.

Para utilizar el script, guárdelo en un archivo con la extensión .rss y, a continuación, utilice la utilidad de símbolo del sistema rs.exe para ejecutar el archivo en el servidor de informes. El script no está compilado, por lo que no es necesario tener instalado Visual Basic. En este ejemplo se da por supuesto que tiene permisos en el equipo local que hospeda el servidor de informes. Si no ha iniciado una sesión con una cuenta con permisos, debe especificar la información de la cuenta mediante argumentos adicionales de la línea de comandos. Para obtener más información, vea rs (utilidad).

Public Sub Main()
        Dim props(0) As [Property]
        Dim setProp As New [Property]
        setProp.Name = "EnableClientPrinting"
        setProp.Value = “False” 
        props(0) = setProp
        Try
            rs.SetSystemProperties(props)
        Catch ex As System.Web.Services.Protocols.SoapException
            Console.Write(ex.Detail.InnerXml)
        Catch e as Exception
            Console.Write(e.Message)
        End Try
End Sub