PowerShell-Cmdlets (SharePoint-Modus von Reporting Services)

Bei der Installation von SQL Server 2012 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, z. B. Erweiterungen und Verschlüsselungsschlüssel.

Dieses Thema enthält Folgendes:

  • Cmdlet Summary

  • Shared Service Cmdlets

  • Service Application Cmdlets

  • Reporting Services functionality related Cmdlets

  • Basic Samples

  • Detailed Samples

    • Create a service application and proxy

    • Review and update a delivery extension

    • Get and set Properties of the Reporting Service Application Database

    • List Data Extensions

    • Change and list subscription owners

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), der in Microsoft Windows enthalten ist. Weitere Informationen finden Sie unter Starten von Windows PowerShell unter Windows Server (https://technet.microsoft.com/library/hh847814.aspx). In den folgenden Cmdlet-Zusammenfassungen verweisen die Verweise auf die Dienstanwendung "databases" auf sämtliche mit einer Reporting Services-Dienstanwendung erstellten und von ihr verwendeten Datenbanken. 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 : Der Begriff 'Install-SPRSService' wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad enthalten und korrekt ist, und wiederholen Sie den Vorgang.

Eines der folgenden Probleme tritt auf:

  • Reporting Services im SharePoint-Modus ist nicht installiert, und folglich sind auch keine Reporting Services-Cmdlets installiert.

  • 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 (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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

Shared Service- und Proxy-Cmdlets

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

Cmdlet

Beschreibung

Install-SPRSService

Installiert und registriert bzw. deinstalliert den gemeinsamen Reporting Services-Dienst. Dies kann nur auf dem Computer erfolgen, auf dem SQL Server Reporting Services im SharePoint-Modus installiert ist. Für die Installation sind zwei Vorgänge möglich:

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

  2. Die Reporting Services-Dienstinstanz 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 in der Farm deinstalliert.

HINWEIS: Wenn sich weitere Computer mit installiertem Reporting Services-Dienst in der Farm befinden, 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, die eine Installation des gemeinsamen Diensts für Reporting Services enthalten.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

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 eine Reporting Services-Dienstanwendung ab.

New-SPRSServiceApplication

Erstellen Sie eine neue Reporting Services-Dienstanwendung und zugeordnete Datenbanken.

LogonType-Parameter: Gibt an, ob der Berichtsserver das SSRS-Anwendungspoolkonto oder eine SQL Server-Anmeldung für den Zugriff auf die Berichtsserverdatenbank 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 Reporting Services-Dienstanwendungsproxy ab.

Dismount-SPRSDatabase

Hebt die Einbindung der Dienstanwendungsdatenbank für eine Reporting Services-Dienstanwendung auf.

Remove-SPRSDatabase

Entfernen Sie die Dienstanwendungsdatenbanken für eine Reporting Services-Dienstanwendung.

Set-SPRSDatabase

Legt die Eigenschaften der einer Reporting Services-Dienstanwendung zugeordneten Datenbanken fest.

Mount-SPRSDatabase

Bindet Datenbanken für eine Reporting Services-Dienstanwendung ein.

New-SPRSDatabase

Erstellen Sie neue Dienstanwendungsdatenbanken für die angegebene Reporting Services-Dienstanwendung.

Get-SPRSDatabaseCreationScript

Gibt für eine Reporting Services-Dienstanwendung das Datenbankerstellungsskript auf dem Bildschirm aus. Sie können dann das Skript in SQL Server Management Studio ausführen.

Get-SPRSDatabase

Ruft mindestens eine Reporting Services-Dienstanwendungsdatenbank ab.

Get-SPRSDatabaseRightsScript

Gibt für eine Reporting Services-Dienstanwendung das Skript für Datenbankrechte 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.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

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.

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. Dies entspricht der vollständigen Liste mit 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 -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"

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

Ausführliche Beispiele

Zusätzlich zu den folgenden Beispielen finden Sie weitere Informationen im Abschnitt "Windows PowerShell-Skript" im Thema (Steps 1-4) Windows PowerShell script for Steps 1–4.

Erstellen einer Dienstanwendung und eines 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 "http://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 “http://sitename”
$appPoolAccountName = $appPool.ProcessAccount.LookupName()
$webApp.GrantAccessToProcessIdentity($appPoolAccountName)

Überprüfen und Aktualisieren einer Übermittlungserweiterung

Im folgenden PowerShell-Skriptbeispiel wird die Konfiguration der Berichtsserver-E-Mail-Übermittlungserweiterung für die Dienstanwendung mit dem Namen My RS Service App aktualisiert. Aktualisieren Sie die Werte für den SMTP-Servernamen (<email server name>) und den E-Mail-Alias 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 " My RS Ser *"}

Mit dem folgenden Skript werden die aktuellen Konfigurationswerte für die Berichtsserver-E-Mail-Übermittlungserweiterung der Dienstanwendung mit dem Namen "My RS Service App" zurückgegeben. Im ersten Schritt wird der Wert der Variablen $app auf das Objekt der Dienstanwendung festgelegt, die den Namen "My RS Service App" aufweist.

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 "My RS Service App"
Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

Abrufen und Festlegen von Eigenschaften für die Reporting Services-Anwendungsdatenbank

Das folgende Beispiel gibt zunächst eine Liste der Datenbanken und Eigenschaften zurück, sodass Sie die Datenbank-GUID (ID) ermitteln können, die Sie anschließend an den set-Befehl übergeben. Um eine vollständige Liste der Eigenschaften zu erhalten, verwenden Sie Get-SPRSDatabase | format-list.

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

Nachfolgend wird ein Beispiel der Ausgabe gezeigt. Ermitteln Sie die ID für die Datenbank, die Sie ändern möchten, 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 sicherzustellen, dass der Wert gesetzt wurde, führen Sie erneut das GET-Cmdlet aus.

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

Auflisten von Datenerweiterungen

Im folgenden Beispiel werden alle Reporting Services-Dienstanwendungen durchlaufen, um eine Auflistung der aktuellen Datenerweiterungen für jede Dienstanwendung anzuzeigen.

$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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

Ändern und Auflisten von Abonnementbesitzern

Siehe Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wirdTop

Siehe auch

Konzepte

Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription

Aufrufen der SQL Server PowerShell-Hilfe

Andere Ressourcen

CodePlex-SharePoint-Verwaltungs-PowerShell-Skripts

Verwalten von SSRS mit PowerShell