PowerShell-Cmdlets für den SharePoint-Modus von Reporting Services

Gilt für: SQL Server Reporting Services (2016) SharePoint ❌ Power BI-Berichtsserver

Inhalt im Zusammenhang mit früheren Versionen von SQL Server Reporting Services (SSRS) finden Sie unter Was ist SQL Server Reporting Services?.

Bei der Installation von SQL Server 2016 Reporting Services im SharePoint-Modus werden auch PowerShell-Cmdlets installiert, die Unterstützung für Berichtsserver im SharePoint-Modus bieten. Die Cmdlets decken drei Funktionalitätskategorien ab.

  • Installation des gemeinsamen SharePoint-Diensts und -Proxys von Reporting Services.

  • Bereitstellung und Verwaltung von Reporting Services-Dienstanwendungen und zugeordneten Proxys.

  • Verwaltung von Reporting Services-Funktionen wie Erweiterungen und Verschlüsselungsschlüssel.

Hinweis

Die Integration von Reporting Services in SharePoint ist nach SQL Server 2016 nicht mehr möglich.

Cmdlet-Zusammenfassung

Um die Cmdlets auszuführen, müssen Sie die SharePoint-Verwaltungsshell öffnen. Sie können auch den Editor für grafische Benutzeroberflächen Windows PowerShell Integrated Scripting Environment (ISE) verwenden, der in Microsoft Windows enthalten ist. Weitere Informationen finden Sie unter Starting Windows PowerShell on Windows Serververwenden, der in Microsoft Windows enthalten ist. In den folgenden Zusammenfassungen von Cmdlets wird mit den Verweisen auf die Dienstanwendung „Databases“ auf sämtliche mit einer Reporting Services-Dienstanwendung erstellten und von ihr verwendeten Datenbanken verwiesen. Dies schließt die Konfigurations- und Warnungsdatenbanken sowie temporären Datenbanken ein.

Wenn Sie bei der Eingabe der PowerShell-Beispiele eine Fehlermeldung mit etwa folgendem Wortlaut sehen:

  • Install-SPRSService: Die Benennung „Install-SPRSService“ wurde nicht als
    Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Prüfen Sie die Schreibweise des Namens bzw. stellen Sie sicher, dass der Pfad korrekt angegeben wurde, und versuchen Sie es erneut.

Eines der folgenden Probleme tritt auf:

  • Der SharePoint-Modus von Reporting Services ist nicht installiert, weshalb auch die Reporting Services-Cmdlets nicht installiert sind.

  • Sie haben den PowerShell-Befehl in Windows PowerShell oder Windows PowerShell ISE statt in der SharePoint-Verwaltungsshell ausgeführt. Verwenden Sie die SharePoint-Verwaltungsshell, oder fügen Sie dem Windows PowerShell-Fenster mithilfe des folgenden Befehls das SharePoint-Snap-In hinzu:

    Add-PSSnapin Microsoft.SharePoint.PowerShell  
    

Weitere Informationen finden Sie unter Verwenden von Windows PowerShell zur Verwaltung von SharePoint 2013.

Öffnen der SharePoint-Verwaltungsshell und Ausführen von Cmdlets

  1. Klicken Sie auf die Schaltfläche Start.

  2. Wählen Sie die Gruppe Microsoft SharePoint-Produkte aus.

  3. Wählen Sie die SharePoint-Verwaltungsshell aus.

Um die Befehlszeilenhilfe für ein Cmdlet anzuzeigen, verwenden Sie in der PowerShell-Eingabeaufforderung den PowerShell-Befehl „Get-Help“. Zum Beispiel:

Get-Help Get-SPRSServiceApplicationServers

Cmdlets des gemeinsamen Diensts und Proxys

Die folgende Tabelle enthält die PowerShell-Cmdlets für den freigegebenen SharePoint-Dienst für Reporting Services.

Cmdlet BESCHREIBUNG
Install-SPRSService Installiert und registriert bzw. deinstalliert den freigegebenen Reporting Services-Dienst. Diese Aktion kann nur auf einem Computer erfolgen, auf dem eine SQL Server Reporting Services-Installation im SharePoint-Modus vorhanden ist. Für die Installation sind zwei Vorgänge möglich:

– Der Reporting Services-Dienst wird in der Farm installiert.

– Die Reporting Services-Dienstinstanz wird auf dem aktuellen Computer installiert.

Für die Deinstallation sind zwei Vorgänge möglich:

– Der Reporting Services-Dienst wird auf dem aktuellen Computer deinstalliert.

– Der Reporting Services-Dienst wird in der Farm deinstalliert.



Es erscheint eine Warnmeldung, wenn die Farm andere Computer umfasst, auf denen der Reporting Services-Dienst installiert ist, oder wenn immer noch Reporting Services-Dienstanwendungen in der Farm ausgeführt werden.
Install-SPRSServiceProxy Installiert und registriert bzw. deinstalliert den Reporting Services-Dienstproxy in der SharePoint-Farm.
Get-SPRSProxyUrl Ruft die URL(s) für den Zugriff auf den Reporting Services-Dienst ab.
Get-SPRSServiceApplicationServers Ruft alle Server in der lokalen SharePoint-Farm ab, in der eine Installation des freigegebenen Reporting Services-Diensts enthalten ist. Dieses Cmdlet ist hilfreich für Reporting Services-Upgrades, um die Server zu ermitteln, auf denen der freigegebene Dienst ausgeführt wird, und die folglich aktualisiert werden müssen.

Dienstanwendungs- und Proxy-Cmdlets

Die folgende Tabelle enthält die PowerShell-Cmdlets für Reporting Services-Dienstanwendungen und ihre zugeordneten Proxys.

Cmdlet BESCHREIBUNG
Get-SPRSServiceApplication Ruft mindestens ein Objekt für eine Reporting Services-Anwendung ab.
New-SPRSServiceApplication Erstellen Sie eine neue Reporting Services-Dienstanwendung und zugeordnete Datenbanken.

LogonType-Parameter: Gibt an, ob der Berichtsserver das SSRS-Anwendungspoolkonto oder SQL Server-Anmeldedaten für den Zugriff auf die Berichtsserver-Datenbank verwendet. Gültige Werte sind:

0 Windows-Authentifizierung

1 SQL Server

2 Anwendungspoolkonto (Standard)
Remove-SPRSServiceApplication Entfernt die angegebene Reporting Services-Dienstanwendung. Dieses Cmdlet entfernt auch die zugeordneten Datenbanken.
Set-SPRSServiceApplication Bearbeitet die Eigenschaften einer vorhandenen Reporting Services-Dienstanwendung.
New-SPRSServiceApplicationProxy Erstellt einen neuen Proxy für die Reporting Services-Dienstanwendung.
Get-SPRSServiceApplicationProxy Ruft mindestens einen Proxy für eine Reporting Services-Anwendung ab.
Dismount-SPRSDatabase Hebt die Einbindung der Dienstanwendungs-Datenbanken für eine Reporting Services-Dienstanwendung auf.
Remove-SPRSDatabase Entfernt die Einbindung der Dienstanwendungs-Datenbanken für eine Reporting Services-Dienstanwendung.
Set-SPRSDatabase Legt die Eigenschaften der Datenbanken fest, die einer Reporting Services-Dienstanwendung zugeordnet sind.
Mount-SPRSDatabase Bindet Datenbanken in eine Reporting Services-Dienstanwendung ein.
New-SPRSDatabase Erstellt neue Dienstanwendungs-Datenbanken für die angegebene Reporting Services-Dienstanwendung.
Get-SPRSDatabaseCreationScript Gibt das Datenbankerstellungsskript an eine Reporting Services-Dienstanwendung auf dem Bildschirm aus. Sie können dann das Skript in SQL Server Management Studio ausführen.
Get-SPRSDatabase Ruft mindestens eine Datenbank einer Reporting Services-Dienstanwendung ab. Rufen Sie über den Befehl die ID der Dienstanwendungsdatenbank ab, damit Sie anhand des Set-SPRSDatabase-Cmdlets Eigenschaften ändern können, beispielsweise das querytimeout. Sehen Sie sich das Beispiel in diesem Artikel Abrufen und Festlegen von Eigenschaften für die Reporting Services-Anwendungsdatenbank an.
Get-SPRSDatabaseRightsScript Gibt das Datenbankrechte-Skript für die Datenbank einer Reporting Services-Dienstanwendung auf dem Bildschirm aus. Es fordert die Eingabe des gewünschten Benutzers und der Datenbank und gibt dann Transact-SQL zurück, das zum Ändern von Berechtigungen ausgeführt werden kann. Sie können dann dieses Skript in SQL Server Management Studio ausführen.
Get-SPRSDatabaseUpgradeScript Gibt ein Datenbankupgradeskript auf dem Bildschirm aus. Das Skript führt ein Upgrade der Reporting Services-Dienstanwendungsdatenbanken auf die Datenbankversion der aktuellen Reporting Services-Installation durch.

Benutzerdefinierte Reporting Services-Funktionalitäts-Cmdlets

Cmdlet BESCHREIBUNG
Update-SPRSEncryptionKey Aktualisiert den Verschlüsselungsschlüssel für die angegebene Reporting Services-Dienstanwendung und verschlüsselt die Daten erneut.
Restore-SPRSEncryptionKey Stellt einen zuvor gesicherten Verschlüsselungsschlüssel für eine Reporting Services-Dienstanwendung wieder her.
Remove-SPRSEncryptedData Löscht die verschlüsselten Daten für die angegebene Reporting Services-Dienstanwendung.
Backup-SPRSEncryptionKey Sichert den Verschlüsselungsschlüssel für die angegebene Reporting Services-Dienstanwendung.
New-SPRSExtension Registriert eine neue Erweiterung bei einer Reporting Services-Dienstanwendung.
Set-SPRSExtension Legt die Eigenschaften einer vorhandenen Reporting Services-Erweiterung fest.
Remove-SPRSExtension Entfernt eine Erweiterung aus einer Reporting Services-Dienstanwendung.
Get-SPRSExtension Ruft mindestens eine Reporting Services-Erweiterung für eine Reporting Services-Dienstanwendung ab.

Gültige Werte sind:



Lieferung

DeliveryUI

Rendern

Daten

Sicherheit

Authentifizierung

EventProcessing

Berichtselemente

Designer

ReportItemDesigner

ReportItemConverter

ReportDefinitionCustomization
Get-SPRSSite Ruft die SharePoint-Websites abhängig davon ab, ob die Funktion "ReportingService" aktiviert ist. Standardmäßig werden Websites zurückgegeben, für die die Funktion "ReportingService" aktiviert ist.

Basisbeispiele

Gibt eine Liste von Cmdlets zurück, die „SPRS“ im Namen enthalten. Diese Liste enthält sämtliche Reporting Services-Cmdlets.

Get-command -noun *SPRS*  

Alternativ erfolgt die Weiterleitung an eine Textdatei namens „commandlist.txt“ mit genaueren Details.

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

Installieren Sie den Reporting Services-SharePoint-Dienst und den -Dienstproxy.

Install-SPRSService  
Install-SPRSServiceProxy  

Starten Sie den Reporting Services-Dienst.

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

Geben Sie den folgenden Befehl in der SharePoint-Verwaltungsshell ein, um eine gefilterte Zeilenliste aus der Protokolldatei abzurufen. Durch den Befehl werden Zeilen herausgefiltert, die „ssrscustomactionerror“ enthalten. Dieses Beispiel bezieht sich auf die Protokolldatei, die bei der Installation von "rssharepoint.msi" erstellt wurde.

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

Ausführliche Beispiele

Zusätzlich zu den folgenden Beispielen finden Sie weitere Beispiele im Abschnitt „Windows PowerShell-Skript“ im Artikel Windows PowerShell-Skript für die Schritte 1 bis 4.

Erstellen einer Reporting Services-Dienstanwendung und eines entsprechenden Proxys

Dieses Beispielskript führt die folgenden Tasks aus:

  1. Erstellt eine Reporting Services-Dienstanwendung und einen entsprechenden Proxy. Das Skript geht davon aus, dass der Anwendungspool „Mein Anwendungspool“ bereits vorhanden ist.

  2. Hinzufügen des Proxys zur Standardproxygruppe

  3. Gewähren Sie der Dienstanwendung Zugriff auf die Inhaltsdatenbank der Webanwendung (Port 80). Das Skript geht davon aus, dass die Website https://sitename bereits vorhanden ist.

# 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)  
  

Überprüfen und Aktualisieren einer Reporting Services-Übermittlungserweiterung

Das folgende PowerShell-Skript-Beispiel aktualisiert die Konfiguration der Berichtsserver-E-Mail-Übermittlungserweiterung für die Dienstanwendung mit dem Namen My RS Service App. Aktualisieren Sie die Werte für den SMTP-Server (<email server name>) und für den E-Mail-Absenderalias „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  

Wenn Sie im oben genannten Beispiel den genauen Namen der Dienstanwendung nicht kennen, besteht die Möglichkeit, die erste Anweisung umzuschreiben, um die Dienstanwendung auf Grundlage einer Suche nach dem Teilnamen abzurufen. Zum Beispiel:

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

Das folgende Skript gibt die aktuellen Konfigurationswerte für die Berichtsserver-E-Mail-Übermittlungserweiterung der Dienstanwendung namens „Reporting Services-Anwendung“ zurück. Im ersten Schritt wird der Wert der Variablen $app auf das Objekt der Dienstanwendung mit dem Namen „Meine RS-Dienstanwendung“ festgelegt

Die zweite Anweisung ruft die Übermittlungserweiterung „Berichtsserver-E-Mail“ für das Dienstanwendungsobjekt in der Variablen $app ab und wählt configurationXML aus.

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

Sie können die beiden vorangehenden Anweisungen auch in einer Anweisung zusammenfassen:

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

Abrufen und Festlegen von Eigenschaften der Reporting Services-Anwendungsdatenbank

Mit dem folgenden Beispiel wird eine Liste von Datenbanken und Eigenschaften zurückgegeben, sodass Sie die Datenbank-GUID (ID) bestimmen können, die Sie anschließend zum Festlegen des Befehls angeben. Eine vollständige Liste der Eigenschaften erhalten Sie anhand von Get-SPRSDatabase | format-list.

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

Die folgende Ausgabe dient als Beispiel. Bestimmen Sie die ID für die zu ändernde Datenbank und verwenden Sie die ID im SET-Cmdlet.

  • 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  

Um zu überprüfen, ob der Wert festgelegt ist, führen Sie das GET-Cmdlet erneut aus.

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

Auflisten von Reporting Services-Datenerweiterungen

Das folgende Beispiel durchläuft alle Reporting Services-Dienstanwendungen und listet aktuelle Datenerweiterungen für diese auf.

$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  
}  

Beispielausgabe:

  • Name ExtensionType

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

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Ändern und Auflisten von Reporting Services-Abonnementbesitzern

Weitere Informationen finden Sie unter Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription (Verwenden von PowerShell zum Ändern und Auflisten von Reporting Services-Abonnementbesitzern und zum Ausführen eines Abonnements).