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

 

Betrifft: SQL Server 2016

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, z. B. Erweiterungen und Verschlüsselungsschlüssel.

Betrifft: Reporting Services -SharePoint-Modus

Dieses Thema enthält Folgendes:

Um die Cmdlets auszuführen, müssen Sie die SharePoint-Verwaltungsshell öffnen. Sie können auch die grafische Benutzeroberflächen-Editor, der in Microsoft Windows enthalten ist Windows PowerShell Integrated Scripting Environment (ISE). Weitere Informationen finden Sie unter Starten von Windows PowerShell unter Windows Server (http://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: Die Benennung 'Install-SPRSService' wurde 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 (http://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". Zum Beispiel:

Get-Help Get-SPRSServiceApplicationServers

Shared Service- und Proxy-Cmdlets

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

CmdletBeschreibung
Install-SPRSServiceInstalliert 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:

– Der Reporting Services Dienst in der Farm installiert ist.

– Der Reporting Services Dienstinstanz auf dem aktuellen Computer installiert ist.

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 aus der Farm deinstalliert.

 

HINWEIS: Sind weitere Computer in der Farm vorhanden, auf denen der Reporting Services -Dienst installiert ist, oder werden nach wie vor Reporting Services -Dienstanwendungen in der Farm ausgeführt, wird eine Warnmeldung angezeigt.
Install-SPRSServiceProxyInstalliert und registriert bzw. deinstalliert den Reporting Services-Dienstproxy in der SharePoint-Farm.
Get-SPRSProxyUrlRuft die URL(s) für den Zugriff auf den Reporting Services-Dienst ab.
Get-SPRSServiceApplicationServersRuft alle Server in der lokalen SharePoint-Farm ab, die eine Installation des gemeinsamen Diensts für Reporting Services enthalten. 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.

CmdletBeschreibung
Get-SPRSServiceApplicationRuft mindestens ein Reporting Services -Dienstanwendungsobjekt ab.
New-SPRSServiceApplicationErstellen 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. Gültige Werte sind:

0 Windows-Authentifizierung

1 SQL Server

2 Anwendungspoolkonto (Standard)
Remove-SPRSServiceApplicationEntfernt die angegebene Reporting Services-Dienstanwendung. Dadurch werden auch die zugeordneten Datenbanken entfernt.
Set-SPRSServiceApplicationBearbeitet die Eigenschaften einer vorhandenen Reporting Services-Dienstanwendung.
New-SPRSServiceApplicationProxyErstellt einen neuen Proxy für die Reporting Services-Dienstanwendung.
Get-SPRSServiceApplicationProxyRuft mindestens einen Reporting Services -Dienstanwendungsproxy ab.
Dismount-SPRSDatabaseHebt die Einbindung der Dienstanwendungsdatenbank für eine Reporting Services -Dienstanwendung auf.
Remove-SPRSDatabaseEntfernen Sie die Dienstanwendungsdatenbanken für eine Reporting Services -Dienstanwendung.
Set-SPRSDatabaseLegt die Eigenschaften der einer Reporting Services -Dienstanwendung zugeordneten Datenbanken fest.
Mount-SPRSDatabaseBindet Datenbanken für eine Reporting Services -Dienstanwendung ein.
New-SPRSDatabaseErstellen Sie neue Dienstanwendungsdatenbanken für die angegebene Reporting Services -Dienstanwendung.
Get-SPRSDatabaseCreationScriptGibt 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-SPRSDatabaseRuft mindestens eine Reporting Services -Dienstanwendungsdatenbank 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. Siehe das Beispiel in diesem Thema Abrufen und Festlegen der Eigenschaften der Reporting Services-Anwendungsdatenbank.
Get-SPRSDatabaseRightsScriptGibt 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-SPRSDatabaseUpgradeScriptGibt 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

CmdletBeschreibung
Update-SPRSEncryptionKeyAktualisiert den Verschlüsselungsschlüssel für die angegebene Reporting Services-Dienstanwendung und verschlüsselt die Daten erneut.
Restore-SPRSEncryptionKeyStellt einen zuvor gesicherten Verschlüsselungsschlüssel für eine Reporting Services-Dienstanwendung wieder her.
Remove-SPRSEncryptedDataLöscht die verschlüsselten Daten für die angegebene Reporting Services-Dienstanwendung.
Backup-SPRSEncryptionKeySichert den Verschlüsselungsschlüssel für die angegebene Reporting Services-Dienstanwendung.
New-SPRSExtensionRegistriert eine neue Erweiterung bei einer Reporting Services-Dienstanwendung.
Set-SPRSExtensionLegt die Eigenschaften einer vorhandenen Reporting Services-Erweiterung fest.
Remove-SPRSExtensionEntfernt eine Erweiterung aus einer Reporting Services-Dienstanwendung.
Get-SPRSExtensionRuft mindestens eine Reporting Services -Erweiterung für eine Reporting Services -Dienstanwendung ab.

Gültige Werte sind:

 

Delivery

DeliveryUI

Render

Daten

Sicherheit

Authentifizierung

EventProcessing

Berichtselemente

Designer

ReportItemDesigner

ReportItemConverter

ReportDefinitionCustomization
Get-SPRSSiteRuft 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.

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"  

Zusätzlich zu den folgenden Beispielen finden Sie weitere Beispiele im Abschnitt "Windows PowerShell-Skript" im Thema Windows PowerShell script for Steps 1–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 "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 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 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 für die 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   

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

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

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

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
Aufrufen der SQL Server PowerShell-Hilfe
CodePlex-SharePoint-Verwaltungs-PowerShell-Skripts
Verwalten von SSRS mit PowerShell

Community-Beiträge

HINZUFÜGEN
Anzeigen: