Automatisation des tâches d'administration et de déploiement à l'aide de scripts

Reporting Services prend en charge l'utilisation de scripts pour automatiser les installations courantes, le déploiement et les tâches administratives. Le déploiement d'un serveur de rapports est un processus qui implique plusieurs étapes. Vous devez faire appel à plusieurs outils et processus pour configurer un déploiement ; il n'existe pas un seul programme ou une seule approche pour automatiser l'ensemble des tâches.

Toutes les étapes ne doivent pas être automatisées. Dans certains cas, la réalisation d'une étape manuellement ou par le biais d'un outil graphique constitue l'approche la plus simple et la plus efficace. Par exemple, si vous souhaitez déployer un grand nombre de rapports et de modèles; il est préférable de copier les bases de données du serveur de rapports plutôt que d'écrire le code qui recrée l'environnement de ce dernier.

Certaines étapes exigent un code personnalisé. Par exemple, vous pouvez automatiser la configuration des URL pour le service Web et le Gestionnaire de rapports, mais uniquement si vous écrivez un code personnalisé qui soumet des appels au fournisseur WMI (Windows Management Instrumentation) Report Server. Si vous ne souhaitez pas écrire le code, vous devez utiliser l'outil de configuration de Reporting Services pour effectuer cette étape.

Pour exécuter un script qui configure un serveur de rapports, vous devez être un administrateur local sur l'ordinateur que vous configurez. Pour plus d'informations, consultez Procédure : configurer un serveur de rapports pour l'administration à distance.

Cette rubrique décrit les approches recommandées pour l'automatisation de tâches spécifiques. Divers programmes et interfaces de programmation sont mentionnés ; la description de chacun d'eux est fournie plus loin dans cette rubrique.

Tâches de déploiement et mode d'automatisation

Le tableau suivant résume les tâches d'installation et de configuration nécessaires au déploiement d'un serveur de rapports. Vous pouvez vous reporter à ce tableau pour associer une tâche spécifique à une approche vous permettant d'automatiser ou d'effectuer la tâche sans assistance.

Tâche

Approche

Installez Reporting Services.

Vous pouvez exécuter une installation sans assistance à partir de la ligne de commande.

Vous pouvez utiliser le programme d'installation pour installer et configurer un serveur de rapports, mais uniquement si vous spécifiez l'option de configuration par défaut et si votre système répond à toutes les exigences de ce type d'installation. Si l'installation de la configuration par défaut est impossible, procédez à une installation de fichiers uniquement. Pour plus d'informations sur les options d'installation, consultez Considérations sur l'installation de Reporting Services.

Configurez le compte de service.

Le compte de service est configuré initialement à travers l'installation. Pour automatiser les modifications du compte de service comme tâche de post-installation, vous devez écrire le code personnalisé qui soumet les appels au fournisseur WMI Report Server. Il n'existe pas d'utilitaire d'invite de commandes ou de modèle de script pour configurer le compte de service par programme.

Si les exigences du code vous empêchent d'automatiser cette étape, vous pouvez facilement configurer le compte manuellement à l'aide de l'outil de configuration de Reporting Services. Pour plus d'informations, consultez Procédure : configurer un compte de service pour Reporting Services.

Configurez les URL du service Web Report Server et du Gestionnaire de rapports.

Vous devez écrire le code personnalisé chargé de soumettre les appels au fournisseur WMI Report Server. Il n'existe pas d'utilitaire de ligne de commande ou de modèle de script pour configurer les URL.

Si vous souhaitez éviter d'écrire le code, vous pouvez configurer manuellement les URL en exécutant l'outil de configuration de Reporting Services. Pour plus d'informations, consultez Procédure : configurer une URL (configuration de Reporting Services).

Créez la base de données du serveur de rapports.

Vous devez écrire le code personnalisé chargé de soumettre les appels au fournisseur WMI Report Server. Il n'existe pas d'utilitaire d'invite de commandes ou de modèle de script pour créer les bases de données du serveur de rapports et RSExecRole.

Si vous souhaitez éviter d'écrire le code, vous pouvez créer la base de données manuellement en exécutant l'outil de configuration de Reporting Services. Pour plus d'informations, consultez Procédure : créer une base de données du serveur de rapports (outil de configuration de Reporting Services).

Configurez la connexion à la base de données du serveur de rapports.

Si vous modifiez la chaîne de connexion, le compte ou le mot de passe, ou le type d'authentification, exécutez l'utilitaire rsconfig.exe pour configurer la connexion. Pour plus d'informations, consultez Configuration d'une connexion de base de données de serveur de rapports et Utilitaire rsconfig.

L'utilisation de cet utilitaire n'est pas possible pour la création ou la mise à niveau de la base de données. La base de données et RSExecRole doivent déjà exister.

Configurer un déploiement avec montée en puissance parallèle.

Choisissez l'une des approches suivantes pour automatiser un déploiement avec montée en puissance parallèle :

Sauvegarder les clés de chiffrement.

Choisissez l'une des approches suivantes pour automatiser la sauvegarde des clés de chiffrement :

Configurer la messagerie Report Server.

Écrivez le code personnalisé à exécuter sur le fournisseur WMI de Reporting Services. Le fournisseur prend en charge un sous-ensemble des paramètres de configuration de la messagerie.

Bien que le fichier RSReportServer.config contienne tous les paramètres, n'utilisez pas ce fichier de manière automatisée. En particulier, n'utilisez pas un fichier de commandes pour copier le fichier sur un autre serveur de rapports. Chaque fichier de configuration inclut des valeurs qui sont spécifiques à l'instance active. Ces valeurs ne sont pas valides sur les autres instances du serveur de rapports.

Pour plus d'informations sur ces paramètres, consultez Configuration d'un Report Server pour la remise du courrier électronique.

Configurer le compte d'exécution sans assistance.

Choisissez l'une des approches suivantes pour automatiser la configuration du compte de traitement sans assistance :

Déployez le contenu existant sur un autre serveur de rapports, y compris l'arborescence des dossiers, les attributions de rôles, les rapports, les abonnements, les planifications, les sources de données et les ressources.

Le meilleur moyen de recréer un environnement de serveur de rapports existant est de copier la base de données du serveur de rapports dans une nouvelle instance du serveur de rapports.

Une autre approche consiste à écrire un code personnalisé capable de recréer par programme le contenu du serveur de rapports existant. Soyez toutefois conscient du fait que les abonnements, les instantanés de rapports et l'historique des rapports ne peuvent pas être recréés par programme.

Certains déploiements peuvent tirer parti de l'utilisation conjointe de ces techniques (soit restaurer une base de données du serveur de rapports, puis exécuter un code personnalisé qui modifie cette base de données pour une installation précise).

Pour plus d'informations sur le déplacement d'une base de données de serveur de rapports (Report Server), consultez Déplacement des bases de données du serveur de rapports vers un autre ordinateur. Pour plus d'informations sur la création par programme d'un environnement de serveur de rapports, consultez la section « Utilisation de scripts pour migrer les dossiers et le contenu du Report Server » plus loin dans cette rubrique.

Outils et technologies d'automatisation de déploiement de serveur

La liste ci-après répertorie les programmes et les interfaces qu'il est possible d'utiliser pour automatiser les tâches de déploiement et de maintenance :

  • Vous pouvez exécuter le programme d'installation en mode sans assistance pour installer et parfois configurer les composants du serveur de rapports. Vous devez choisir l'option d'installation de fichiers uniquement pour que le programme d'installation configure une instance du serveur de rapports.

  • Vous pouvez faire appel au fournisseur WMI de Reporting Services et aux utilitaires de ligne de commande de Reporting Services pour la configuration des serveurs locaux et distants.

    Le fournisseur WMI de Reporting Services expose les classes, les propriétés et les méthodes qui vous permettent de configurer tous les aspects d'une installation de Reporting Services, notamment les comptes de service, la configuration des URL, la création et la configuration de la base de données du serveur de rapports ou la configuration d'un serveur de rapports pour la remise par courrier électronique. Vous devez écrire un code personnalisé ou un script pour utiliser le fournisseur WMI. Pour plus d'informations, consultez Fournisseur WMI de Reporting Services.

    Une solution autre que l'écriture de code est le recours aux utilitaires de ligne de commande (rsconfig.exe et rskeymgmt.exe). Vous pouvez créer des fichiers de commandes chargés d'exécuter les utilitaires. Vous pouvez exploiter les utilitaires afin d'automatiser certaines tâches de configuration, mais pas toutes.

  • L'outil d'environnement de scripts de Report Server (rs.exe) permet d'exécuter un code Microsoft Visual Basic personnalisé que vous pouvez écrire en vue de recréer ou de déplacer un contenu existant d'un serveur de rapports vers un autre. En optant pour cette approche, vous pouvez écrire un script dans Visual Basic, l'enregistrer en tant que fichier .rss et utiliser l'outil rs.exe pour exécuter le script sur le serveur de rapports cible. Le script que vous écrivez peut appeler l'interface SOAP sur le service Web de Report Server. Cette approche est employée pour l'écriture des scripts de déploiement parce qu'elle vous permet de recréer un espace de noms et le contenu du dossier du serveur de rapports et de recréer la sécurité basée sur les rôles.

Utilisation de scripts pour migrer les dossiers et le contenu du serveur de rapports

Vous pouvez écrire des scripts capables de dupliquer un environnement de serveur de rapports sur une autre instance du serveur de rapports. En règle générale, les scripts de déploiement sont écrits en Visual Basic, puis traités à l'aide de l'utilitaire de l'environnement d'exécution de scripts du serveur de rapports.

Les scripts s'utilisent pour copier des dossiers, des sources de données partagées, des ressources, des rapports, des attributions de rôles et des paramètres d'un serveur sur un autre. Vous écrivez un script pour une instance de serveur de rapports, puis vous l'exécutez sur un autre serveur pour recréer l'espace de noms du serveur de rapports. Si votre déploiement Reporting Services contient plusieurs serveurs de rapports, vous pouvez exécuter le script sur chaque serveur individuellement de façon configurer tous les serveurs de la même manière.

La liste suivante décrit les étapes nécessaires à la migration de rapports d'un serveur vers un autre.

  1. Définissez votre variable de script sur l'URL du serveur de rapports source.

  2. Utilisez les méthodes GetItemDefinition et GetProperties pour récupérer la définition et les propriétés du rapport.

  3. Définissez l'URL de manière à pointer vers le serveur de destination.

  4. Utilisez la méthode CreateCatalogItem, à l'aide des propriétés retournées par GetProperties et de la définition de rapport retournée par GetItemDefinition.

En utilisant une combinaison de méthodes « get » et « create », vous pouvez suivre une procédure analogue pour la migration des paramètres, des dossiers, des sources de données partagées et des ressources. Pour plus d'informations sur les méthodes disponibles, consultez Références techniques (Reporting Services).

Notes

Notez que les scripts s'exécutent avec les informations d'identification Microsoft Windows de l'utilisateur qui exécute le script, sauf si les informations d'identification sont définies explicitement.

Pour plus d'informations sur le mode de formatage et d'exécution d'un fichier de script, consultez Écriture de scripts avec l'utilitaire rs.exe et le service Web.

Utilisation de scripts pour définir les propriétés du serveur

Vous pouvez écrire un script qui définit les propriétés système du serveur de rapports. Le script Visual Basic .NET suivant présente une méthode de définition des propriétés. Cet exemple désactive le contrôle RSClientPrint ActiveX, mais vous pouvez remplacer EnableClientPrinting et False par le nom et la valeur d'une propriété valide. Pour afficher la liste complète des propriétés de serveur, consultez Propriétés système de Report Server.

Pour utiliser le script, enregistrez-le dans un fichier doté d'une extension .rss, puis utilisez l'utilitaire de ligne de commande rs.exe pour exécuter le fichier sur le serveur de rapports. Comme le script n'est pas compilé, il n'est pas nécessaire de disposer d'une installation de Visual Basic. Cet exemple part du principe que vous disposez d'autorisations sur l'ordinateur local qui héberge le serveur de rapports. Si vous n'êtes pas connecté sous un compte possédant des autorisations, vous devez spécifier des informations de compte par le biais d'arguments de ligne de commande supplémentaires. Pour plus d'informations, consultez Utilitaire rs.exe.

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