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
Klicken Sie auf die Schaltfläche Start.
Wählen Sie die Gruppe Microsoft SharePoint-Produkte aus.
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:
Erstellt eine Reporting Services-Dienstanwendung und einen entsprechenden Proxy. Das Skript geht davon aus, dass der Anwendungspool „Mein Anwendungspool“ bereits vorhanden ist.
Hinzufügen des Proxys zur Standardproxygruppe
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).
Zugehöriger Inhalt
- 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)
- Prüfliste: Überprüfen von Power Pivot für SharePoint mithilfe von PowerShell
- Get Help SQL Server PowerShell (Hilfe für SQL Server PowerShell)
- Stellen Sie eine Frage im Reporting Services-Forum