Cmdlet di PowerShell (modalità SharePoint di Reporting Services)

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

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

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

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

In questo argomento sono incluse le sezioni seguenti:

  • Cmdlet Summary

  • Shared Service Cmdlets

  • Service Application Cmdlets

  • Reporting Services functionality related Cmdlets

  • Basic Samples

  • Detailed Samples

    • Create a service application and proxy

    • Review and update a delivery extension

    • Get and set Properties of the Reporting Service Application Database

    • List Data Extensions

    • Change and list subscription owners

Riepilogo dei cmdlet

Per eseguire i cmdlet è necessario aprire la shell di gestione SharePoint. È anche possibile utilizzare l'editor dell'interfaccia utente grafica incluso in Microsoft Windows, Windows PowerShell Integrated Scripting Environment (ISE). Per altre informazioni, vedere la pagina relativa all'avvio di Windows PowerShell in Windows Server (https://technet.microsoft.com/library/hh847814.aspx). Nei riepiloghi di cmdlet seguenti, i riferimenti ai database delle applicazioni di servizio indicano tutti i database creati e utilizzati 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:

  • Non è stata installata la modalità SharePoint di Reporting Services, pertanto non sono presenti 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 Usare Windows PowerShell per amministrare SharePoint 2013 (https://technet.microsoft.com/library/ee806878.aspx).

Per aprire la shell di gestione di SharePoint ed eseguire i cmdlet

  1. Fare clic sul pulsante Start.

  2. Fare clic sul gruppo Prodotti Microsoft SharePoint.

  3. Fare clic su Shell di gestione SharePoint.

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

Get-Help Get-SPRSServiceApplicationServers

Icona freccia usata con il collegamento Torna all'inizioTop

Cmdlet del servizio condiviso e del proxy

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

Cmdlet

Descrizione

Install-SPRSService

Installa e registra, o disinstalla, il servizio SharePoint Shared di 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:

  1. Il servizio Reporting Services viene installato nella farm.

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

Per la disinstallazione, vengono eseguite due operazioni:

  1. Il servizio Reporting Services viene disinstallato dal computer corrente.

  2. Il servizio Reporting Services viene disinstallato dalla farm.

NOTA: se nella farm sono presenti altri computer in cui è installato il servizio Reporting Services oppure se nella farm sono ancora in esecuzione applicazioni del 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

Ottiene tutti i server nella farm di SharePoint locale contenenti un'installazione del servizio SharePoint Shared di Reporting Services.

Icona freccia usata con il collegamento Torna all'inizioTop

Cmdlet dell'applicazione di servizio e del proxy

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

Cmdlet

Descrizione

Get-SPRSServiceApplication

Ottiene una o più applicazioni 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 usato un account del pool di applicazioni SSRS o un account di accesso di SQL Server per accedere al database del server di report. I possibili valori sono i seguenti:

  • 0 Autenticazione di Windows

  • 1 SQL Server

  • 2 Account pool applicazioni (impostazione predefinita)

Remove-SPRSServiceApplication

Rimuove l'applicazione di servizio Reporting Services specificata. Vengono rimossi 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 dell'applicazione di servizio per un'applicazione di servizio Reporting Services.

Remove-SPRSDatabase

Rimuove i database dell'applicazione di servizio per 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 per un'applicazione di servizio Reporting Services.

New-SPRSDatabase

Crea nuovi database dell'applicazione di servizio per l'applicazione di servizio Reporting Services specificata.

Get-SPRSDatabaseCreationScript

Visualizza 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.

Get-SPRSDatabaseRightsScript

Visualizza lo script 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.

Icona freccia usata con il collegamento Torna all'inizioTop

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.

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. Si tratta dell'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 proxy del servizio e il servizio SharePoint di Reporting Services.

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 log. Con il comando verranno 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"

Icona freccia usata con il collegamento Torna all'inizioTop

Esempi dettagliati

Oltre ai seguenti esempi, vedere la sezione “Script di Windows PowerShell” nell'argomento (Steps 1-4) Windows PowerShell script for Steps 1–4.

Creare un proxy e un'applicazione di servizio

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. Per lo script si presuppone che il sito "http://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 “http://sitename”
$appPoolAccountName = $appPool.ProcessAccount.LookupName()
$webApp.GrantAccessToProcessIdentity($appPoolAccountName)

Rivedere e aggiornare un'estensione per il recapito

Nell'esempio di script di PowerShell seguente viene aggiornata la configurazione per l'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 nome del server SMTP (<email server name>) e l'alias di posta elettronica relativo al mittente (<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 " My RS Ser *"}

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 "My RS Service App". Il primo passaggio consente di impostare il valore della variabile $app sull'oggetto applicazione di servizio denominata "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 "My RS Service App"
Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml

Icona freccia usata con il collegamento Torna all'inizioTop

Ottenere e impostare le proprietà del database dell'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 dell'output. 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

Icona freccia usata con il collegamento Torna all'inizioTop

Elencare le estensioni per i dati

L'esempio seguente esegue il ciclo di ogni applicazione del servizio Reporting Services ed elenca le estensioni per i dati correnti 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

Icona freccia usata con il collegamento Torna all'inizioTop

Modificare ed elencare i proprietari di sottoscrizioni

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

Icona freccia usata con il collegamento Torna all'inizioTop

Vedere anche

Concetti

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

Visualizzazione della Guida di SQL Server PowerShell

Altre risorse

Script di PowerShell di gestione di SharePoint nel sito CodePlex

Come amministrare SSRS con PowerShell