Partager via


Applets de commande PowerShell pour le mode SharePoint de Reporting Services

S’applique à : SQL Server Reporting Services (2016) SharePoint ❌ Power BI Report Server

Pour obtenir du contenu lié aux versions précédentes de SQL Server Reporting Services (SSRS), consultez Présentation de SQL Server Reporting Services.

Lorsque vous installez le mode SharePoint de SQL Server 2016 Reporting Services, les applets de commande PowerShell sont installées afin de prendre en charge les serveurs de rapports en mode SharePoint. Les applets de commande couvrent trois catégories de fonctionnalités.

  • Installation du service partagé et du proxy Reporting Services SharePoint.

  • Configuration et gestion des applications de service Reporting Services et des proxys associés.

  • Gestion des fonctionnalités de Reporting Services, comme les extensions et les clés de chiffrement.

Notes

L’intégration de Reporting Services à SharePoint n’est plus disponible après SQL Server 2016.

Résumé des applets de commande

Pour exécuter les applets de commande, vous devez ouvrir SharePoint Management Shell. Vous pouvez aussi utiliser l’éditeur d’interface utilisateur graphique fourni avec Microsoft Windows : l’Environnement d’écriture de scripts intégré de Windows PowerShell (ISE) . Pour plus d’informations, consultez Démarrage de Windows PowerShell sur Windows Server. Dans les résumés suivants d’applets de commande, les références à l’application de service « bases de données » font référence à toutes les bases de données créées et utilisées par une application de service Reporting Services. Cela inclut la configuration, la définition d'alertes et les bases de données temp.

Si vous voyez un message d'erreur semblable au suivant lorsque vous saisissez les exemples PowerShell :

  • Install-SPRSService : Le terme « Install-SPRSService » n’est pas reconnu comme le
    nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez l’orthographe du nom ou, si un chemin d’accès a été inclus, vérifiez que le chemin d’accès est correct et réessayez.

Un des problèmes suivants se produit :

  • Le mode SharePoint de Reporting Services n’étant pas installé, les applets de commande Reporting Services ne sont pas installées.

  • Vous avez exécuté la commande PowerShell dans Windows PowerShell ou Windows PowerShell ISE au lieu de SharePoint Management Shell. Utilisez SharePoint Management Shell ou ajoutez le composant logiciel enfichable SharePoint à la fenêtre Windows PowerShell à l'aide de la commande suivante :

    Add-PSSnapin Microsoft.SharePoint.PowerShell  
    

Pour plus d’informations, consultez Utiliser Windows PowerShell pour administrer SharePoint 2013.

Pour ouvrir SharePoint Management Shell et exécuter les applets de commande

  1. Sélectionnez le bouton Démarrer.

  2. Sélectionnez le groupe Produits Microsoft SharePoint.

  3. Sélectionnez l’interpréteur de commandes de gestion SharePoint.

Pour consulter l’aide sur la ligne de commande pour une applet de commande, utilisez la commande « Get-Help » de PowerShell à l’invite de commandes PowerShell. Par exemple :

Get-Help Get-SPRSServiceApplicationServers

Applets de commande de service partagé et de proxy

Le tableau suivant contient les applets de commande PowerShell pour le service partagé Reporting Services SharePoint.

Applet de commande Description
Install-SPRSService Installe et enregistre, ou désinstalle, le service partagé Reporting Services. Cette action peut être effectué uniquement sur l’ordinateur où SQL Server Reporting Services en mode SharePoint est installé. Pour l'installation, deux opérations ont lieu :

\- Le service Reporting Services est installé dans la batterie de serveurs.

\- L’instance du service Reporting Services est installée sur l’ordinateur actuel.

Pour la désinstallation, deux opérations ont lieu :

\- Le service Reporting Services est désinstallé de l’ordinateur actuel.

\- Le service Reporting Services est désinstallé de la batterie de serveurs.



Un message d’avertissement apparaît si le service Reporting Services est installé sur d’autres ordinateurs de la batterie de serveurs ou si des applications de service Reporting Services sont encore en cours d’exécution dans la batterie.
Install-SPRSServiceProxy Installe et enregistre, ou désinstalle, le proxy du service Reporting Services dans la batterie de serveurs SharePoint.
Get-SPRSProxyUrl Obtient la ou les URL d'accès au service Reporting Services.
Get-SPRSServiceApplicationServers Obtient tous les serveurs dans la batterie SharePoint locale qui contiennent une installation du service partagé Reporting Services. Cette applet de commande est utile pour les mises à niveau de Reporting Services car elle permet de déterminer quels serveurs exécutent le service partagé et doivent, par conséquent, être mis à niveau.

Applets de commande d’application de service et de proxy

Le tableau suivant contient les applets de commande PowerShell pour les applications de service Reporting Services et leurs proxys associés.

Applet de commande Description
Get-SPRSServiceApplication Obtient un ou plusieurs objets d’application de service Reporting Services.
New-SPRSServiceApplication Crée une application de service Reporting Services et des bases de données associées.

Paramètre LogonType : spécifie si le serveur de rapports utilise le compte de pool d'applications SSRS ou un compte de connexion SQL Server pour accéder à la base de données du serveur de rapports. Les valeurs autorisées sont :

0 Authentification Windows

1 SQL Server

2\. Compte du pool d'applications (valeur par défaut)
Remove-SPRSServiceApplication Supprime l'application de service Reporting Services spécifiée. Cette applet de commande supprime également les bases de données associées.
Set-SPRSServiceApplication Modifie les propriétés d'une base de données d'application de service Reporting Services existante.
New-SPRSServiceApplicationProxy Crée un nouveau proxy d'application de service Reporting Services.
Get-SPRSServiceApplicationProxy Obtient un ou plusieurs proxys d'application de service Reporting Services existante.
Dismount-SPRSDatabase Démonte les bases de données d’une application de service Reporting Services.
Remove-SPRSDatabase Supprime les bases de données d’une application de service Reporting Services.
Set-SPRSDatabase Définit les propriétés des bases de données associées à une application de service Reporting Services.
Mount-SPRSDatabase Monte les bases de données d’une application de service Reporting Services.
New-SPRSDatabase Crée de nouvelles bases de données pour l’application de service Reporting Services spécifiée.
Get-SPRSDatabaseCreationScript Affiche à l’écran le script de création de base de données pour une application de service Reporting Services. Vous pouvez ensuite exécuter le script dans SQL Server Management Studio.
Get-SPRSDatabase Obtient une ou plusieurs bases de données d'application de service Reporting Services. Utilisez la commande pour obtenir l’ID de la base de données d'application de service afin d’utiliser l’applet de commande Set-SPRSDatabase pour modifier les propriétés, par exemple querytimeout. Consultez l’exemple de cet article : Propriétés Get et Set de la base de données d’application Reporting Service.
Get-SPRSDatabaseRightsScript Affiche à l’écran le script de droits de base de données pour une application de service Reporting Services. Invite à entrer l’utilisateur et la base de données souhaités, puis retourne un script Transact-SQL que vous pouvez exécuter pour modifier des autorisations. Vous pouvez ensuite exécuter ce script dans SQL Server Management Studio.
Get-SPRSDatabaseUpgradeScript Génère un script de mise à niveau de base de données à l'écran. Le script met à niveau les bases de données de l’application de service Reporting Services vers la version de base de données de l’installation actuelle de Reporting Services.

Applets de commande de fonctionnalités personnalisées Reporting Services

Applet de commande Description
Update-SPRSEncryptionKey Met à jour la clé de chiffrement de l'application de service Reporting Services spécifiée et re-chiffre ses données.
Restore-SPRSEncryptionKey Restaure une clé de chiffrement précédemment sauvegardée pour une application de service Reporting Services.
Remove-SPRSEncryptedData Supprime les données chiffrées de l'application de service Reporting Services spécifiée.
Backup-SPRSEncryptionKey Sauvegarde la clé de chiffrement de l'application de service Reporting Services spécifiée.
New-SPRSExtension Enregistre une nouvelle extension avec une application de service Reporting Services.
Set-SPRSExtension Définit les propriétés d'une extension Reporting Services existante.
Remove-SPRSExtension Supprime une extension d'une application de service Reporting Services.
Get-SPRSExtension Obtient une ou plusieurs extensions Reporting Services pour une application de service Reporting Services.

Les valeurs autorisées sont :



Livraison

DeliveryUI

Rendu

Données

Sécurité

Authentification

EventProcessing

ReportItems

Concepteur

ReportItemDesigner

ReportItemConverter

ReportDefinitionCustomization
Get-SPRSSite Obtient les sites SharePoint en fonction de l'activation de la fonction « ReportingService ». Par défaut, les sites qui activent la fonction « ReportingService » sont retournés.

Exemples de base

Retournez la liste des applets de commande qui contiennent « SPRS » dans le nom. Cette liste est la liste complète des applets de commande Reporting Services.

Get-command -noun *SPRS*  

Ou bien, vous serez redirigés vers un fichier texte nommé commandlist.txt contenant davantage de détails.

Get-command -noun *SPRS* | Select name, definition | Format-List | Out-File c:\commandlist.txt  

Installer le service Reporting Services SharePoint et ses proxys.

Install-SPRSService  
Install-SPRSServiceProxy  

Démarrer le service Reporting Services.

get-spserviceinstance -all |where {$_.TypeName -like "SQL Server Reporting*"} | Start-SPServiceInstance  

Saisissez la commande suivante à partir de SharePoint Management Shell pour retourner une liste filtrée des lignes du fichier journal. La commande filtre les lignes contenant « ssrscustomactionerror ». Cet exemple consulte le fichier journal créé lorsque le fichier rssharepoint.msi a été installé.

Get-content -path C:\Users\testuser\AppData\Local\Temp\rs_sp_0.log | select-string "ssrscustomactionerror"  

Exemples détaillés

Outre les exemples suivants, consultez la section « Script Windows PowerShell » dans l’article Script Windows PowerShell pour les étapes 1 à 4.

Création d'une application de service Reporting Services et d'un proxy

Cet exemple de script effectue les tâches suivantes :

  1. Création d'une application de service Reporting Services et d'un proxy. Le script suppose que le pool d’applications « My App Pool » existe déjà.

  2. Ajout du proxy au groupe de proxy par défaut

  3. Octroi de l’accès à l’application de service à la base de données de contenu de l’application web sur le port 80. Le script considère que le site https://sitename existe déjà.

# Create service application and service application proxy  
$appPool = Get-SPServiceApplicationPool "My App Pool"  
$serviceApp = New-SPRSServiceApplication "My RS Service App" -ApplicationPool $appPool  
$serviceAppProxy = New-SPRSServiceApplicationProxy -Name "My RS Service App Proxy" -ServiceApplication $serviceApp  
  
# Add service application proxy to default proxy group.  Any web application that uses the default proxy group will now be able to use this service application.  
Get-SPServiceApplicationProxyGroup -default | Add-SPServiceApplicationProxyGroupMember -Member $serviceAppProxy  
  
# Grant application pool account access to the port 80 web application's content database.  
$webApp = Get-SPWebApplication "https://sitename"  
$appPoolAccountName = $appPool.ProcessAccount.LookupName()  
$webApp.GrantAccessToProcessIdentity($appPoolAccountName)  
  

Analyse et mise à jour d'une extension de remise Reporting Services

L’exemple de script PowerShell suivant met à jour la configuration de l’extension de remise du courrier électronique par le serveur de rapports pour l’application de service nommée My RS Service App. Mettez à jour les valeurs du serveur SMTP (<email server name>) et de l’alias de messagerie électronique FROM (<your FROM email address>).

$app=get-sprsserviceapplication -Name "My RS Service App"  
$emailCfg = Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml   
$emailXml = [xml]$emailCfg   
$emailXml.SelectSingleNode("//SMTPServer").InnerText = "<email server name>"  
$emailXml.SelectSingleNode("//SendUsing").InnerText = "2"  
$emailXml.SelectSingleNode("//SMTPAuthenticate").InnerText = "2"  
$emailXml.SelectSingleNode("//From").InnerText = '<your FROM email address>'  
Set-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" -ExtensionConfiguration $emailXml.OuterXml  

Dans l'exemple ci-dessus, si vous ne connaissiez pas le nom exact de l’application de service, vous pouvez réécrire la première instruction pour obtenir l’application de service en fonction d’une recherche portant sur son nom partiel. Par exemple :

$app=get-sprsserviceapplication | where {$_.name -like " ssrs_testapp *"}  

Le script suivant retourne les valeurs de configuration actuelles de l’extension de remise de courrier du serveur de rapports pour l’application de service nommée « Application Reporting Services ». La première étape définit la valeur de la variable $app à l’objet de l’application de service dont le nom est « My RS Service App »

La deuxième instruction obtiendra l’extension de remise « Report Server Email » pour l’objet d’application de service dans la variable $app, puis sélectionne le configuration XML.

$app=get-sprsserviceapplication -Name "Reporting Services Application"  
Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml  

Vous pouvez réécrire les deux instructions précédentes en un seul et même script :

get-sprsserviceapplication -Name "Reporting Services Application" | Get-SPRSExtension -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml  

Obtenir et définir les propriétés de la base de données d’application Reporting Services

L'exemple suivant renvoie d'abord une liste des bases de données et propriétés afin de déterminer le guid (ID) de base de données que vous fournissez à la commande. Pour obtenir une liste complète des propriétés, utilisez Get-SPRSDatabase | format-list.

get-SPRSDatabase | select id, querytimeout,connectiontimeout, status, server, ServiceInstance   

Voici un exemple de sortie. Déterminez l'ID de la base de données que vous voulez modifier et utilisez l'ID de l'applet de commande SET.

  • Id : 56f8d1bc-cb04-44cf-bd41-a873643c5a14

    QueryTimeout : 120

    ConnectionTimeout : 15

    Status : Online

    Server : SPServer Name=uetestb01

    ServiceInstance : SPDatabaseServiceInstance

Set-SPRSDatabase -identity 56f8d1bc-cb04-44cf-bd41-a873643c5a14 -QueryTimeout 300  

Pour vérifier que la valeur est définie, réexécutez l'applet de commande GET.

Get-SPRSDatabase -identity 56f8d1bc-cb04-44cf-bd41-a873643c5a14 | select id, querytimeout,connectiontimeout, status, server, ServiceInstance  

Répertorier les extensions de données Reporting Services

L’exemple suivant effectue une itération sur chaque application de service Reporting Services et répertorie pour chacune les extensions de données actuelles.

$apps = Get-SPRSServiceApplication  
foreach ($app in $apps)   
{  
Write-host -ForegroundColor "yellow" Service App Name $app.Name  
Get-SPRSExtension -identity $app -ExtensionType "Data" | select name,extensiontype | Format-Table -AutoSize  
}  

Exemple de sortie :

  • Name ExtensionType

    ---- -------------

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Modifier et répertorier les propriétaires d’abonnements Reporting Services

Consultez Utiliser PowerShell pour modifier et répertorier les propriétaires d’abonnements Reporting Services et exécuter un abonnement.