Condividi tramite


Cmdlet di PowerShell per la modalità SharePoint di Reporting Services

Quando si installa SQL Server 2014 Reporting Services modalità SharePoint, i cmdlet di PowerShell vengono installati 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.

Si applica a: Reporting Services modalità SharePoint

In questo argomento sono contenute le sezioni seguenti:

Riepilogo dei 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 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 menu 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, 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:

1) Il servizio Reporting Services è installato nella farm.

2) L'istanza del servizio Reporting Services è 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 o se sono ancora presenti applicazioni di servizio Reporting Services in esecuzione nella farm, 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 dell'applicazione di servizio e del 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 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 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 nell'argomento 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:

Recapito

DeliveryUI

Rendering

Dati

Sicurezza

autenticazione

EventProcessing

ReportItems

Progettazione

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 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 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"  

Esempi dettagliati

Oltre ai seguenti esempi, vedere la sezione "Script di Windows PowerShell" nell'argomento 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 il sito "http://sitename" esiste 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 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 via posta elettronica del server di report per l'applicazione di servizio denominata "Reporting Services Application". Il primo passaggio consente di impostare il valore della variabile $app sull'oggetto applicazione di servizio denominato "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 sopra 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 dell'applicazione Reporting Service, ad esempio timeout database

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  

Elencare le estensioni dati di Reporting Services - Modalità SharePoint

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 di sottoscrizioni

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

Vedere anche

Usare PowerShell per modificare ed elencare i proprietari di sottoscrizioni di Reporting Services ed eseguire una sottoscrizione
Elenco di controllo: usare PowerShell per verificare PowerPivot per SharePoint
Script di PowerShell di gestione di SharePoint nel sito CodePlex