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

Wenn Sie SQL Server 2014 Reporting Services SharePoint-Modus installieren, werden PowerShell-Cmdlets installiert, um Berichtsserver im SharePoint-Modus zu unterstützen. 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.

Gilt für: Reporting Services SharePoint-Modus

Dieses Thema enthält Folgendes:

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 Windows PowerShell zum Verwalten von SharePoint 2013 (https://technet.microsoft.com/library/ee806878.aspx).

So öffnen Sie die SharePoint-Verwaltungsshell und führen Cmdlets aus

  1. Klicken Sie auf die Schaltfläche Start .

  2. Klicken Sie auf die Gruppe Microsoft SharePoint-Produkte .

  3. Klicken Sie auf SharePoint-Verwaltungsshell.

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

Get-Help Get-SPRSServiceApplicationServers

Shared Service- und Proxy-Cmdlets

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. Dieser Schritt 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:

1) Der Reporting Services Dienst wird in der Farm installiert.

2) Der Reporting Services-Dienst instance wird auf dem aktuellen Computer installiert.

Für die Deinstallation sind zwei Vorgänge möglich:
1) Der Reporting Services Dienst wird auf dem aktuellen Computer deinstalliert.
2) Der Reporting Services Dienst wird aus der Farm deinstalliert.



HINWEIS: Wenn in der Farm andere Computer vorhanden sind, auf denen der Reporting Services-Dienst installiert ist, oder wenn noch Reporting Services Dienstanwendungen in der Farm ausgeführt werden, wird eine Warnmeldung angezeigt.
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 einen SQL Server-Anmeldenamen für den Zugriff auf die Berichtsserver-Datenbank verwendet. Folgende Werte sind möglich:

0 Windows-Authentifizierung

1 SQL Server

2 Anwendungspoolkonto (Standard)
Remove-SPRSServiceApplication Entfernt die angegebene Reporting Services-Dienstanwendung. Dadurch werden auch die zugeordneten Datenbanken entfernt.
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 unter dem Thema Abrufen und Festlegen von Eigenschaften der Reporting Services-Anwendungsdatenbank, z. B. Timeout der Datenbank.
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:

Bereitstellung

DeliveryUI

Rendern

Daten

Security

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“ unter dem Thema 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 website "http://sitename" ist bereits vorhanden.

# 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 "http://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. 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 oben stehenden 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, z. B. Timeout der Datenbank

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

Unten ist ein Beispiel für die Ausgabe angegeben. 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 – SharePoint-Modus

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 Aufführen von Abonnementbesitzern

Weitere Informationen finden Sie unter Verwenden von PowerShell zum Ändern und Auflisten Reporting Services Abonnementbesitzern und Ausführen eines Abonnements.

Weitere Informationen

Verwenden von PowerShell, um Reporting Services-Abonnenten zu ändern und aufzulisten sowie ein Abonnement auszuführen
Prüfliste: Überprüfen von PowerPivot für SharePoint mithilfe von PowerShell
CodePlex-SharePoint-Verwaltungs-PowerShell-Skripts