Dela via


PowerShell-cmdletar för SharePoint-läge för Reporting Services

Gäller för: SQL Server Reporting Services (2016) SharePoint ❌ Power BI-rapportserver

Information om innehåll som är relaterat till tidigare versioner av SQL Server Reporting Services (SSRS) finns i Vad är SQL Server Reporting Services?

När du installerar SQL Server 2016 Reporting Services SharePoint-läge installeras PowerShell-cmdletar för att stödja rapportservrar i SharePoint-läge. Cmdletarna omfattar tre kategorier av funktioner.

  • Installation av sharepoint-delad tjänst och proxy för Reporting Services.

  • Etablering och hantering av Reporting Services-tjänstprogram och tillhörande proxyservrar.

  • Hantering av Reporting Services-funktioner, till exempel tillägg och krypteringsnycklar.

Anmärkning

Reporting Services-integrering med SharePoint är inte längre tillgängligt efter SQL Server 2016.

Cmdlet-sammanfattning

Om du vill köra cmdletarna måste du öppna SharePoint Management Shell. Du kan också använda det grafiska användargränssnittsredigeraren som ingår i Microsoft Windows, Windows PowerShell Integrated Scripting Environment (ISE). Mer information finns i Starta Windows PowerShell på Windows Server. I följande cmdlet-sammanfattningar refererar referenserna till tjänstprogrammets "databaser" till alla databaser som skapats och används av ett Reporting Services-tjänstprogram. Detta omfattar konfigurations-, aviserings- och temporära databaser.

Om du ser ett felmeddelande som liknar följande när du anger PowerShell-exemplen:

  • Install-SPRSService: Termen "Install-SPRSService" identifieras inte som
    namnet på en cmdlet, funktion, skriptfil eller ett fungerande program. Kontrollera stavningen av namnet eller kontrollera att sökvägen är korrekt och försök igen om en sökväg har inkluderats.

Ett av följande problem inträffar:

  • SharePoint-läget för Reporting Services är inte installerat och därför installeras inte Reporting Services-cmdletarna.

  • Du körde PowerShell-kommandot i Windows PowerShell eller Windows PowerShell ISE i stället för SharePoint Management Shell. Använd SharePoint Management-gränssnittet eller lägg till SharePoint-snapin-modulen i Windows PowerShell-fönstret med följande kommando:

    Add-PSSnapin Microsoft.SharePoint.PowerShell  
    

Öppna SharePoint Management Shell och kör cmdletar

  1. Välj knappen Start .

  2. Välj gruppen Microsoft SharePoint-produkter .

  3. Välj SharePoint Management Shell.

Om du vill visa kommandoradshjälp för en cmdlet använder du kommandot Get-Help i PowerShell-kommandotolken. Till exempel:

Get-Help Get-SPRSServiceApplicationServers

Cmdletar för delad tjänst och proxy

Följande tabell innehåller PowerShell-cmdletar för den delade Reporting Services SharePoint-tjänsten.

Cmdlet Description
Install-SPRSService Installerar och registrerar, eller avinstallerar, den delade Reporting Services-tjänsten. Den här åtgärden kan endast utföras på den dator som har en installation av SQL Server Reporting Services i SharePoint-läge. För installation utförs två åtgärder:

-Reporting Services-tjänsten är installerad i servergruppen.

-Reporting Services-tjänstinstansen är installerad på den aktuella datorn.

För avinstallation utförs två åtgärder:

-Reporting Services-tjänsten avinstalleras från den aktuella datorn.

-Reporting Services-tjänsten avinstalleras från servergruppen.



Ett varningsmeddelande visas om det finns andra datorer i servergruppen som har Reporting Services-tjänsten installerad, eller om det fortfarande finns Reporting Services-tjänstprogram som körs i servergruppen.
Install-SPRSServiceProxy Installerar och registrerar, eller avinstallerar, Reporting Services-tjänstproxyn i SharePoint-servergruppen.
Get-SPRSProxyUrl Hämtar URL:er för åtkomst till Reporting Services-tjänsten.
Get-SPRSServiceApplicationServers Hämtar alla servrar i den lokala SharePoint-servergruppen som innehåller en installation av den delade Reporting Services-tjänsten. Den här cmdleten är användbar för Reporting Services-uppgraderingar, för att avgöra vilka servrar som kör den delade tjänsten och därför måste uppgraderas.

Tjänstprogram och proxy-cmdletar

Följande tabell innehåller PowerShell-cmdletar för Reporting Services-tjänstprogram och deras associerade proxyservrar.

cmdlet Description
Get-SPRSServiceApplication Hämtar ett eller flera Reporting Services-tjänstprogramobjekt.
New-SPRSServiceApplication Skapa ett nytt Reporting Services-tjänstprogram och associerade databaser.

LogonType-parameter: Anger om rapportservern använder SSRS-programpoolskontot eller en SQL Server-inloggning för att komma åt rapportserverdatabasen. Giltiga värden är:

0 Windows-autentisering

1 SQL Server

2 Programpoolskonto (standard)
Remove-SPRSServiceApplication Tar bort det angivna Reporting Services-tjänstprogrammet. Den här cmdleten tar också bort de associerade databaserna.
Set-SPRSServiceApplication Redigerar egenskaperna för ett befintligt Reporting Services-tjänstprogram.
New-SPRSServiceApplicationProxy Skapar en ny Reporting Services-tjänstprogramproxy.
Get-SPRSServiceApplicationProxy Hämtar en eller flera Reporting Services-tjänstprogramproxys.
Dismount-SPRSDatabase Demonterar tjänstprogramdatabaserna för ett Reporting Services-tjänstprogram.
Remove-SPRSDatabase Ta bort tjänstprogramdatabaserna för ett Reporting Services-tjänstprogram.
Set-SPRSDatabase Anger egenskaperna för de databaser som är associerade med ett Reporting Services-tjänstprogram.
Mount-SPRSDatabase Monterar databaser för ett Reporting Services-tjänstprogram.
New-SPRSDatabase Skapa nya tjänstprogramdatabaser för det angivna Reporting Services-tjänstprogrammet.
Get-SPRSDatabaseCreationScript Matar ut skriptet för att skapa databasen på skärmen för ett Reporting Services-tjänstprogram. Du kan sedan köra skriptet i SQL Server Management Studio.
Get-SPRSDatabase Hämtar en eller flera Reporting Services-tjänstprogramdatabaser. Använd kommandot för att hämta ID:t för tjänstprogramdatabasen så att du kan använda cmdleten Set-SPRSDatabase för att ändra egenskaper, till exempel querytimeout. Se exemplet i den här artikeln Hämta och ange egenskaper för Reporting Service-programdatabasen.
Get-SPRSDatabaseRightsScript Matar ut skriptet för databasrättigheter till skärmen för ett Reporting Services-tjänstprogram. Den frågar efter önskad användare och databas och returnerar sedan transact SQL som du kan köra för att ändra behörigheter. Du kan sedan köra det här skriptet i SQL Server Management Studio.
Get-SPRSDatabaseUpgradeScript Matar ut ett databasuppgraderingsskript till skärmen. Skriptet uppgraderar Reporting Services-tjänstprogramdatabaser till databasversionen av den aktuella Reporting Services-installationen.

Cmdletar för anpassade funktioner i Reporting Services

Cmdlet Description
Update-SPRSEncryptionKey Uppdaterar krypteringsnyckeln för det angivna Reporting Services-tjänstprogrammet och krypterar om dess data.
Restore-SPRSEncryptionKey Återställer en tidigare säkerhetskopierad krypteringsnyckel för ett Reporting Services-tjänstprogram.
Remove-SPRSEncryptedData Ta bort krypterade data för det angivna Reporting Services-tjänstprogrammet.
Backup-SPRSEncryptionKey Säkerhetskopierar krypteringsnyckeln för det angivna Reporting Services-tjänstprogrammet.
New-SPRSExtension Registrerar ett nytt tillägg med ett Reporting Services-tjänstprogram.
Set-SPRSExtension Anger egenskaperna för ett befintligt Reporting Services-tillägg.
Remove-SPRSExtension Tar bort ett tillägg från ett Reporting Services-tjänstprogram.
Get-SPRSExtension Hämtar ett eller flera Reporting Services-tillägg för ett Reporting Services-tjänstprogram.

Giltiga värden är:



Leverans

DeliveryUI

Render

Uppgifter

Security

Authentication

EventProcessing

ReportItems

Formgivare

ReportItemDesigner

ReportItemConverter

ReportDefinitionAnpassad
Get-SPRSSite Hämtar SharePoint-webbplatserna baserat på om funktionen "ReportingService" är aktiverad. Som standard returneras webbplatser som aktiverar funktionen "ReportingService".

Grundläggande exempel

Returnera en lista över cmdletar som innehåller "SPRS" i namnet. Den här listan är den fullständiga listan över Reporting Services-cmdletar.

Get-command -noun *SPRS*  

Eller med lite mer information, skickad till en textfil med namnet commandlist.txt.

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

Installera Reporting Services SharePoint-tjänsten och tjänstproxyn.

Install-SPRSService  
Install-SPRSServiceProxy  

Starta Reporting Services-tjänsten.

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

Ange följande kommando från SharePoint Management Shell för att returnera en filtrerad lista med rader från loggfilen. Kommandot filtrerar för rader som innehåller "ssrscustomactionerror". Det här exemplet tittar på loggfilen som skapades när rssharepoint.msi installerades.

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

Detaljerade exempel

Utöver följande exempel kan du läsa avsnittet "Windows PowerShell-skript" i artikeln Windows PowerShell-skript för steg 1–4.

Skapa ett Reporting Services-tjänstprogram och proxy

Det här exempelskriptet slutför följande uppgifter:

  1. Skapa ett Reporting Services-tjänstprogram och proxy. Skriptet förutsätter att programpoolen "Min apppool" redan finns.

  2. Lägg till proxyn i standardproxygruppen

  3. Ge tjänstappen åtkomst till port 80-webbappens innehållsdatabas. Skriptet förutsätter att webbplatsen https://sitename redan finns.

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

Granska och uppdatera ett Reporting Services-leveranstillägg

Följande PowerShell-skriptexempel uppdaterar konfigurationen för rapportserverns e-postleveranstillägg för tjänstprogrammet med namnet My RS Service App. Uppdatera värdena för SMTP-servern (<email server name>) och FROM-e-postaliaset (<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  

Om du inte känner till det exakta namnet på tjänstprogrammet i exemplet ovan kan du skriva om den första instruktionen för att hämta tjänstprogrammet baserat på en sökning efter det partiella namnet. Till exempel:

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

Följande skript returnerar de aktuella konfigurationsvärdena för rapportserverns e-postleveranstillägg för tjänstprogrammet med namnet "Reporting Services Application". Det första steget anger värdet för variabeln $app till objektet för tjänstprogrammet som har namnet " My RS Service App "

Den andra instruktionen hämtar leveranstillägget "Report Server Email" för tjänstprogramobjektet i variabeln $app och väljer configurationXML.

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

Du kan också skriva om de föregående två uttrycken som en:

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

Hämta och ange egenskaper för Reporting Service-programdatabasen

I följande exempel returneras först en lista över databaser och egenskaper så att du kan fastställa det databas-GUID (ID) som du sedan anger för kommandot set. Om du vill ha en fullständig lista över egenskaperna använder du Get-SPRSDatabase | format-list.

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

Följande utdata är ett exempel. Fastställ ID:t för den databas som du vill ändra och använd ID:t i SET-cmdleten.

  • 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  

Kontrollera att värdet har angetts genom att köra GET-cmdleten igen.

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

Lista Reporting Services-datatillägg

Följande exempel loopar igenom varje Reporting Services-tjänstprogram och visar de aktuella datatilläggen för var och en.

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

Exempel på utdata:

  • Name ExtensionType

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

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Ändra och lista Reporting Services-prenumerationsägare

Se Använda PowerShell för att ändra och lista Reporting Services-prenumerationsägare och köra en prenumeration.