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
Selezionare il pulsante Start.
Selezionare il gruppo Prodotti Microsoft SharePoint .
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:
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à.
Aggiungere il proxy al gruppo di proxy predefiniti.
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