Delen via


PowerShell-cmdlets voor de SharePoint-modus van Reporting Services

Van toepassing op: SQL Server Reporting Services (2016) SharePoint ❌ Power BI Report Server

Voor inhoud met betrekking tot eerdere versies van SQL Server Reporting Services (SSRS) raadpleegt u Wat is SQL Server Reporting Services?

Wanneer u SQL Server 2016 Reporting Services SharePoint-modus installeert, worden PowerShell-cmdlets geïnstalleerd ter ondersteuning van rapportservers in de SharePoint-modus. De cmdlets hebben betrekking op drie categorieën functionaliteit.

  • Installatie van de gedeelde Reporting Services SharePoint-service en proxy.

  • Inrichten en beheren van Reporting Services-servicetoepassingen en bijbehorende proxy's.

  • Beheer van Reporting Services-functies, bijvoorbeeld extensies en versleutelingssleutels.

Opmerking

Reporting Services-integratie met SharePoint is niet meer beschikbaar na SQL Server 2016.

Cmdlet-samenvatting

Als u de cmdlets wilt uitvoeren, moet u de SharePoint-beheershell openen. U kunt ook de grafische gebruikersinterface-editor gebruiken die is opgenomen in Microsoft Windows, Windows PowerShell Integrated Scripting Environment (ISE). Zie Windows PowerShell starten op Windows Server voor meer informatie. In de volgende cmdlet-samenvattingen verwijzen de verwijzingen naar de databases van de servicetoepassing naar alle databases die zijn gemaakt en gebruikt door een Reporting Services-servicetoepassing. Dit omvat de configuratie-, waarschuwings- en tijdelijke databases.

Als u een foutbericht ziet dat lijkt op het volgende wanneer u de PowerShell-voorbeelden invoert:

  • Install-SPRSService: de term 'Install-SPRSService' wordt niet herkend als de
    naam van een cmdlet, functie, scriptbestand of bruikbaar programma. Controleer de spelling van de naam of controleer of een pad is opgenomen, controleer of het pad juist is en probeer het opnieuw.

Een van de volgende problemen treedt op:

  • De SharePoint-modus van Reporting Services is niet geïnstalleerd en daarom worden de Reporting Services-cmdlets niet geïnstalleerd.

  • U hebt de PowerShell-opdracht uitgevoerd in Windows PowerShell of Windows PowerShell ISE in plaats van de SharePoint-beheershell. Gebruik de SharePoint-beheershell of voeg de SharePoint-module toe aan het Windows PowerShell-venster met de volgende opdracht:

    Add-PSSnapin Microsoft.SharePoint.PowerShell  
    

Open de SharePoint-beheershell en voer cmdlets uit

  1. Klik op de Start-knop.

  2. Selecteer de groep Microsoft SharePoint-producten .

  3. Selecteer de SharePoint-beheershell.

Om de opdrachtregelhelp voor een cmdlet te bekijken, gebruikt u de PowerShell-opdracht 'Get-Help' in de PowerShell-opdrachtprompt. Voorbeeld:

Get-Help Get-SPRSServiceApplicationServers

Gedeelde service- en proxy-cmdlets

De volgende tabel bevat de PowerShell-cmdlets voor de gedeelde Reporting Services SharePoint-service.

Cmdlet Description
Install-SPRSService Installeert en registreert of verwijdert, de gedeelde Reporting Services-service. Deze actie kan alleen worden uitgevoerd op de computer met een installatie van SQL Server Reporting Services in de SharePoint-modus. Voor de installatie worden twee bewerkingen uitgevoerd:

-De Reporting Services-service is geïnstalleerd in de farm.

-De Reporting Services-service-instantie is geïnstalleerd op de huidige computer.

Voor het verwijderen vinden er twee bewerkingen plaats:

-De Reporting Services-service wordt van de huidige computer verwijderd.

-De Reporting Services-service wordt verwijderd uit de serverfarm.



Er wordt een waarschuwingsbericht weergegeven als er andere computers in de farm zijn waarop de Reporting Services-service is geïnstalleerd of als er nog steeds Reporting Services-servicetoepassingen in de farm worden uitgevoerd.
Install-SPRSServiceProxy Installeert en registreert, of verwijdert, de proxy van de Reporting Services-service in de SharePoint-farm.
Get-SPRSProxyUrl Haalt de URL('s) op voor toegang tot de Reporting Services-service.
Get-SPRSServiceApplicationServers Hiermee haalt u alle servers op in de lokale SharePoint-farm die een installatie van de gedeelde Reporting Services-service bevatten. Deze cmdlet is handig voor Reporting Services-upgrades om te bepalen welke servers de gedeelde service uitvoeren en daarom moeten worden bijgewerkt.

Serviceapplicatie en proxy-cmdlets

De volgende tabel bevat de PowerShell-cmdlets voor Reporting Services-servicetoepassingen en de bijbehorende proxy's.

cmdlet Description
Get-SPRSServiceApplication Hiermee haalt u een of meer Reporting Services-servicetoepassingsobjecten op.
New-SPRSServiceApplication Maak een nieuwe Reporting Services-servicetoepassing en bijbehorende databases.

LogonType-parameter: hiermee geeft u op of de rapportserver gebruikmaakt van het SSRS-toepassingsgroepaccount of een SQL Server-aanmelding voor toegang tot de rapportserverdatabase. Geldige waarden zijn:

0 Windows-verificatie

1 SQL Server

2 Account voor groep van toepassingen (standaard)
Remove-SPRSServiceApplication Verwijdert de opgegeven Reporting Services-servicetoepassing. Met deze cmdlet worden ook de bijbehorende databases verwijderd.
Set-SPRSServiceApplication Hiermee bewerkt u de eigenschappen van een bestaande Reporting Services-servicetoepassing.
New-SPRSServiceApplicationProxy Hiermee maakt u een nieuwe Proxy voor de Reporting Services-servicetoepassing.
Get-SPRSServiceApplicationProxy Verkrijg één of meer service-application proxies voor Reporting Services.
Dismount-SPRSDatabase Hiermee worden de servicetoepassingsdatabases voor een Reporting Services-servicetoepassing ontkoppeld.
Remove-SPRSDatabase Verwijder de servicetoepassingsdatabases voor een Reporting Services-servicetoepassing.
Set-SPRSDatabase Hiermee stelt u de eigenschappen van de databases in die zijn gekoppeld aan een Reporting Services-servicetoepassing.
Mount-SPRSDatabase Koppelt databases voor een Reporting Services-servicetoepassing.
New-SPRSDatabase Maak nieuwe servicetoepassingsdatabases voor de opgegeven Reporting Services-servicetoepassing.
Get-SPRSDatabaseCreationScript Hiermee wordt het script voor het maken van de database uitgevoerd naar het scherm voor een Reporting Services-servicetoepassing. Vervolgens kunt u het script uitvoeren in SQL Server Management Studio.
Get-SPRSDatabase Hiermee haalt u een of meer Reporting Services-servicetoepassingsdatabases op. Gebruik de opdracht om de id van de servicetoepassingsdatabase op te halen, zodat u de Set-SPRSDatabase-cmdlet kunt gebruiken om eigenschappen te wijzigen, bijvoorbeeld de querytimeout. Zie het voorbeeld in dit artikel, Eigenschappen ophalen en instellen van de Reporting Service-toepassingsdatabase.
Get-SPRSDatabaseRightsScript Voert het databaserechtenscript uit naar het scherm voor een Reporting Services-servicetoepassing. Het vraagt om de gewenste gebruiker en database en retourneert vervolgens transact SQL die u kunt uitvoeren om machtigingen te wijzigen. U kunt dit script vervolgens uitvoeren in SQL Server Management Studio.
Get-SPRSDatabaseUpgradeScript Voert een upgradescript voor de database uit naar het scherm. Met het script worden databases van de Reporting Services-servicetoepassing bijgewerkt naar de databaseversie van de huidige Reporting Services-installatie.

Cmdlets voor aangepaste functionaliteit van Reporting Services

Cmdlet Description
Update-SPRSEncryptionKey Hiermee wordt de versleutelingssleutel voor de opgegeven Reporting Services-servicetoepassing bijgewerkt en worden de gegevens opnieuw versleuteld.
Restore-SPRSEncryptionKey Hiermee herstelt u een eerder back-up van een versleutelingssleutel voor een Reporting Services-servicetoepassing.
Remove-SPRSEncryptedData Verwijder de versleutelde gegevens voor de opgegeven Reporting Services-servicetoepassing.
Backup-SPRSEncryptionKey Hiermee maakt u een back-up van de versleutelingssleutel voor de opgegeven Reporting Services-servicetoepassing.
New-SPRSExtension Registreert een nieuwe extensie met een Reporting Services-servicetoepassing.
Set-SPRSExtension Hiermee stelt u de eigenschappen van een bestaande Reporting Services-extensie in.
Remove-SPRSExtension Hiermee verwijdert u een extensie uit een Reporting Services-servicetoepassing.
Get-SPRSExtension Hiermee haalt u een of meer Reporting Services-extensies op voor een Reporting Services-servicetoepassing.

Geldige waarden zijn:



Levering

DeliveryUI

Render

Gegevens

Security

Authenticatie

Eventverwerking

ReportItems

Ontwerper

ReportItemDesigner

ReportItem Converter

Aanpassing van Rapportdefinitie
Get-SPRSSite Hiermee haalt u de SharePoint-sites op op basis van of de functie ReportingService is ingeschakeld. Sites die de functie ReportingService inschakelen, worden standaard geretourneerd.

Basisvoorbeelden

Retourneert een lijst met cmdlets die SPRS in de naam bevatten. Dit is de volledige lijst van Reporting Services-cmdlets.

Get-command -noun *SPRS*  

Of met een beetje meer details, doorgesluisd naar een tekstbestand met de naam commandlist.txt.

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

Installeer de SharePoint-service en -serviceproxy van Reporting Services.

Install-SPRSService  
Install-SPRSServiceProxy  

Start de Reporting Services service.

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

Voer de volgende opdracht uit de SharePoint Management Shell in om een gefilterde lijst met rijen uit het logboekbestand te retourneren. De opdrachtfilters voor regels die 'ssrscustomactionerror' bevatten. In dit voorbeeld wordt het logboekbestand bekeken dat is gemaakt toen de rssharepoint.msi is geïnstalleerd.

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

Gedetailleerde voorbeelden

Zie naast de volgende voorbeelden de sectie 'Windows PowerShell-script' in het artikel Windows PowerShell-script voor stap 1-4.

Een Reporting Services-servicetoepassing en -proxy maken

Met dit voorbeeldscript worden de volgende taken uitgevoerd:

  1. Maak een Reporting Services-servicetoepassing en -proxy. In het script wordt ervan uitgegaan dat de groep van toepassingen 'Mijn app-groep' al bestaat.

  2. De proxy toevoegen aan de standaardproxygroep

  3. Geef de service-app toegang tot de contentdatabase van de poort 80 web-app. In het script wordt ervan uitgegaan dat de site https://sitename al bestaat.

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

Een Reporting Services-leveringsextensie controleren en bijwerken

In het volgende PowerShell-voorbeeldscript wordt de configuratie voor de e-mailbezorgingsextensie van de rapportserver bijgewerkt voor de servicetoepassing met de naam My RS Service App. Werk de waarden voor de SMTP-server (<email server name>) en de FROM-e-mailalias (<your FROM email address>) bij.

$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  

Als u in het bovenstaande voorbeeld niet de exacte naam van de servicetoepassing wist, kunt u de eerste instructie herschrijven om de servicetoepassing op te halen op basis van een zoekopdracht naar de gedeeltelijke naam. Voorbeeld:

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

Het volgende script retourneert de huidige configuratiewaarden voor de e-mailleveringsextensie van de rapportserver voor de servicetoepassing met de naam Reporting Services-toepassing. In de eerste stap wordt de waarde van de variabele $app ingesteld op het object van de servicetoepassing met de naam 'My RS Service-app'

Met de tweede instructie haalt u de bezorgingsextensie ‘Report Server Email’ op voor het servicetoepassingsobject in variabele $app, en selecteert vervolgens de configurationXML.

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

U kunt de vorige twee instructies ook opnieuw schrijven als één:

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

Eigenschappen van de Reporting Service-toepassingsdatabase ophalen en instellen

In het volgende voorbeeld wordt eerst een lijst met de databases en eigenschappen geretourneerd, zodat u de database-GUID (ID) kunt bepalen die u vervolgens opgeeft aan de setopdracht. Gebruik Get-SPRSDatabase | format-listvoor een volledige lijst met eigenschappen.

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

De volgende uitvoer is een voorbeeld. Bepaal de id voor de database die u wilt wijzigen en gebruik de id in de 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  

Voer de GET-cmdlet opnieuw uit om te controleren of de waarde is ingesteld.

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

Reporting Services-gegevensextensies weergeven

In het volgende voorbeeld wordt elke Reporting Services-servicetoepassing doorlopen en worden de huidige gegevensextensies voor elke toepassing weergegeven.

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

Voorbeelduitvoer:

  • Name ExtensionType

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

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Eigenaren van Reporting Services-abonnementen wijzigen en vermelden

Zie PowerShell gebruiken om eigenaren van Reporting Services-abonnementen te wijzigen en weer te geven en een abonnement uit te voeren.