Cmdlet di PowerShell per la modalità SharePoint di Reporting Services

Si applica a: SQL Server Reporting Services (2016) SharePoint ❌ Server di report di Power BI

Per contenuti relativi a versioni precedenti di SQL Server Reporting Services (SSRS), si veda Che cos’è SQL Server Reporting Services?

Quando si installa la modalità SharePoint di SQL Server 2016 Reporting Services, vengono installati alcuni cmdlet di PowerShell per supportare i server di report in modalità SharePoint. I cmdlets riguardano tre categorie di funzionalità.

  • Installazione del proxy e del servizio condiviso SharePoint di Reporting Services.

  • Provisioning e gestione delle applicazioni di servizio Reporting Services e dei proxy associati.

  • Gestione delle funzionalità di Reporting Services, ad esempio le estensioni e le chiavi di crittografia.

Nota

L'integrazione di Reporting Services con SharePoint non è più disponibile nelle versioni successive a SQL Server 2016.

Riepilogo cmdlet

Per eseguire i cmdlet è necessario aprire la shell di gestione SharePoint. È anche possibile usare l'editor dell'interfaccia utente grafica incluso in Microsoft Windows, Windows PowerShell Integrated Scripting Environment (ISE). Per altre informazioni, vedere Starting Windows PowerShell on Windows Server (Avvio di Windows PowerShell su Windows Server). Nei riepiloghi di cmdlet che seguono, i riferimenti ai "database" delle applicazioni di servizio indicano tutti i database creati e usati da un'applicazione di servizio Reporting Services. Sono inclusi i database di configurazione, di avvisi e temporaneo.

Se quando si digitano gli esempi di PowerShell si visualizza un messaggio di errore simile al seguente:

  • Install-SPRSService: Termine 'Install-SPRSService' non riconosciuto come
    nome di cmdlet, funzione, programma eseguibile o file script. Verificare l'ortografia del nome, che il percorso sia incluso e corretto, quindi riprovare.

Si è verificato uno dei problemi seguenti:

  • La modalità SharePoint di Reporting Services non è installata. Non sono quindi installati i cmdlet di Reporting Services.

  • Il comando di PowerShell è stato eseguito in Windows PowerShell o Windows PowerShell ISE anziché nella shell di gestione di SharePoint. Utilizzare la shell di gestione di SharePoint o aggiungere lo snap-in SharePoint alla finestra di Windows PowerShell con il comando seguente:

    Add-PSSnapin Microsoft.SharePoint.PowerShell  
    

Per altre informazioni, vedere Utilizzare Windows PowerShell per amministrare SharePoint 2013.

Aprire la shell di gestione di SharePoint ed eseguire i cmdlet

  1. Selezionare il pulsante Start.

  2. Selezionare il gruppo Prodotti Microsoft SharePoint .

  3. Selezionare Shell di gestione SharePoint.

Per visualizzare le informazioni della Guida relative alla riga di comando per un cmdlet, usare il comando PowerShell "Get-Help" al prompt dei comandi di PowerShell. Ad esempio:

Get-Help Get-SPRSServiceApplicationServers

Cmdlet del servizio condiviso e del proxy

Nella tabella seguente sono elencati i cmdlet di PowerShell per il servizio condiviso SharePoint di Reporting Services.

Cmdlet Descrizione
Install-SPRSService Installa e registra (o disinstalla) il servizio condiviso Reporting Services. Queste operazioni possono essere eseguite solo nel computer in cui è installato SQL Server Reporting Services in modalità SharePoint. Per l'installazione, vengono eseguite due operazioni:

-Il servizio Reporting Services viene installato nella farm.

-L'istanza del servizio Reporting Services viene installata nel computer corrente.

Per la disinstallazione, vengono eseguite due operazioni:

-Il servizio Reporting Services viene disinstallato dal computer corrente.

-Il servizio Reporting Services viene disinstallato dalla farm.



Se nella farm in cui è installato il servizio Reporting Services sono presenti altri computer o se nella farm sono ancora in esecuzione applicazioni di servizio Reporting Services, viene visualizzato un messaggio di avviso.
Install-SPRSServiceProxy Installa e registra, o disinstalla, il proxy del servizio Reporting Services nella farm di SharePoint.
Get-SPRSProxyUrl Ottiene gli URL per l'accesso al servizio Reporting Services.
Get-SPRSServiceApplicationServers Ottenere tutti i server nella farm di SharePoint locale che contiene un'installazione del servizio condiviso Reporting Services. Questo cmdlet è utile per gli aggiornamenti di Reporting Services. Consente infatti di determinare i server che eseguono il servizio condiviso e che devono quindi essere aggiornati.

Cmdlet delle applicazione di servizio e dei proxy

Nella tabella seguente sono elencati i cmdlet di PowerShell per le applicazioni di servizio Reporting Services e per i proxy associati.

cmdlet Descrizione
Get-SPRSServiceApplication Ottiene uno o più oggetti applicazione di servizio Reporting Services.
New-SPRSServiceApplication Crea una nuova applicazione di servizio Reporting Services e i database associati.

Parametro LogonType: consente di specificare se nel server di report viene utilizzato un account del pool di applicazioni SSRS o un account di accesso di SQL Server per accedere al database del server di report. I valori validi sono:

0 Autenticazione di Windows

1 SQL Server

2 Account pool applicazioni (impostazione predefinita)
Remove-SPRSServiceApplication Rimuove l'applicazione di servizio Reporting Services specificata. Questo cmdlet rimuove anche i database associati.
Set-SPRSServiceApplication Modifica le proprietà di un'applicazione di servizio Reporting Services esistente.
New-SPRSServiceApplicationProxy Crea un nuovo proxy dell'applicazione di servizio Reporting Services.
Get-SPRSServiceApplicationProxy Ottiene uno o più proxy dell'applicazione di servizio Reporting Services.
Dismount-SPRSDatabase Smonta i database di un'applicazione di servizio Reporting Services.
Remove-SPRSDatabase Rimuove i database di un'applicazione di servizio Reporting Services.
Set-SPRSDatabase Imposta le proprietà dei database associati a un'applicazione di servizio Reporting Services.
Mount-SPRSDatabase Monta i database di un'applicazione di servizio Reporting Services.
New-SPRSDatabase Consente di creare nuovi database per l'applicazione di servizio Reporting Services specificata.
Get-SPRSDatabaseCreationScript Genera come output sullo schermo lo script di creazione del database per un'applicazione di servizio Reporting Services. È quindi possibile eseguire lo script in SQL Server Management Studio.
Get-SPRSDatabase Ottiene uno o più database dell'applicazione di servizio Reporting Services. Usare il comando per ottenere l'ID del database dell'applicazione di servizio in modo da potere usare il cmdlet Set-SPRSDatabase per modificare le proprietà, ad esempio querytimeout. Vedere l'esempio contenuto nell'articolo Ottenere e impostare le proprietà del database dell'applicazione Reporting Service, ad esempio timeout database.
Get-SPRSDatabaseRightsScript Genera come output sullo schermo lo script dei diritti del database per un'applicazione di servizio Reporting Services. Vengono richiesti l'utente desiderato e il database, quindi viene restituita l'istruzione Transact-SQL che è possibile eseguire per modificare le autorizzazioni. È quindi possibile eseguire lo script in SQL Server Management Studio.
Get-SPRSDatabaseUpgradeScript Visualizza uno script di aggiornamento del database. Lo script consente di aggiornare i database dell'applicazione di servizio Reporting Services alla versione del database dell'installazione di Reporting Services corrente.

Cmdlet correlati alle funzionalità personalizzate di Reporting Services

Cmdlet Descrizione
Update-SPRSEncryptionKey Aggiorna la chiave di crittografia per l'applicazione di servizio Reporting Services specificata ed esegue di nuovo la crittografia dei dati.
Restore-SPRSEncryptionKey Ripristina una chiave di crittografia di cui in precedenza è stato eseguito il backup per un'applicazione di servizio Reporting Services.
Remove-SPRSEncryptedData Elimina i dati crittografati per l'applicazione di servizio Reporting Services specificata.
Backup-SPRSEncryptionKey Esegue il backup della chiave di crittografia per l'applicazione di servizio Reporting Services specificata.
New-SPRSExtension Registra una nuova estensione con un'applicazione di servizio Reporting Services.
Set-SPRSExtension Imposta le proprietà di un'estensione di Reporting Services esistente.
Remove-SPRSExtension Rimuove un'estensione da un'applicazione di servizio Reporting Services.
Get-SPRSExtension Ottiene una o più estensioni di Reporting Services per un'applicazione di servizio Reporting Services.

I valori validi sono:



Consegna

DeliveryUI

Render

Dati

Sicurezza

Autenticazione

EventProcessing

ReportItems

Progettista

ReportItemDesigner

ReportItemConverter

ReportDefinitionCustomization
Get-SPRSSite Ottiene i siti di SharePoint in base all'eventuale abilitazione della funzionalità "ReportingService". Per impostazione predefinita, vengono restituiti i siti in cui la funzionalità "ReportingService" è abilitata.

Esempi di base

Restituire un elenco di cmdlet contenenti "SPRS" nel nome. Questo elenco rappresenta l'elenco completo dei cmdlet di Reporting Services.

Get-command -noun *SPRS*  

In alternativa, con un livello leggermente maggiore di dettaglio, inoltrare tramite pipe in un file di testo denominato commandlist.txt.

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

Installare il servizio SharePoint di Reporting Services e il proxy di servizio.

Install-SPRSService  
Install-SPRSServiceProxy  

Avviare il servizio Reporting Services

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

Digitare il comando seguente dalla Shell di gestione di SharePoint per ottenere un elenco filtrato di righe del file di resoconto. Con il comando vengono filtrate le righe contenenti "ssrscustomactionerror". In questo esempio viene analizzato il file di log creato al momento dell'installazione di rssharepoint.msi.

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

Esempi dettagliati

Oltre ai seguenti esempi, vedere la sezione "Script di Windows PowerShell" nell'articolo Script di Windows PowerShell per i passaggi da 1 a 4.

Creare un proxy e un'applicazione di servizio Reporting Services

Questo script di esempio consente di completare le attività seguenti:

  1. Creare un proxy e un'applicazione di servizio Reporting Services. Per lo script si presuppone che il pool di applicazioni "My App Pool" esista già.

  2. Aggiungere il proxy al gruppo di proxy predefiniti.

  3. Concedere all'applicazione di servizio l'accesso al database del contenuto dell'applicazione Web sulla porta 80. Lo script presuppone che il sito https://sitename esista già.

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

Rivedere e aggiornare un'estensione per il recapito di Reporting Services

Nell'esempio di script di PowerShell seguente viene aggiornata la configurazione dell'estensione per il recapito tramite posta elettronica del server di report per l'applicazione di servizio denominata My RS Service App. Aggiornare i valori per il server SMTP (<email server name>) e l'alias di posta elettronica 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  

Nell'esempio precedente, se non si conosce il nome esatto dell'applicazione di servizio, è possibile riscrivere la prima istruzione per ottenere l'applicazione di servizio in base a una ricerca del nome parziale. Ad esempio:

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

Lo script seguente restituisce i valori di configurazione correnti per l'estensione per il recapito tramite posta elettronica del server di report per l'applicazione di servizio denominata "Applicazione Reporting Services". Il primo passaggio imposta il valore della variabile $app sull'oggetto dell'applicazione di servizio con nome " My RS Service App "

La seconda istruzione consente di ottenere l'estensione per il recapito "Report Server Email" per l'oggetto applicazione di servizio nella variabile $app e di selezionare configurationXML

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

È inoltre possibile riscrivere le due istruzioni precedentemente riportate come un'unica istruzione:

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

Ottenere e impostare le proprietà del database di un'applicazione Reporting Service

L'esempio seguente restituisce innanzitutto un elenco dei database e delle proprietà in modo da potere determinare il GUID del database da fornire al comando set. Per un elenco completo delle proprietà, usare Get-SPRSDatabase | format-list.

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

Di seguito è riportato un esempio di risultato. Determinare l'ID del database da modificare e usare l'ID nel cmdlet SET.

  • 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  

Per verificare il valore impostato, eseguire di nuovo il cmdlet GET.

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

Elencare le estensioni dei dati di Reporting Services

L'esempio seguente esegue il ciclo di ogni applicazione di servizio Reporting Services ed elenca le estensioni per i dati per ogni applicazione.

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

Output di esempio:

  • Name ExtensionType

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

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Modificare ed elencare i proprietari delle sottoscrizioni di Reporting Services

Vedere Usare PowerShell per modificare ed elencare i proprietari di sottoscrizioni di Reporting Services ed eseguire una sottoscrizione.