Cmdlets do PowerShell para o modo do SharePoint do Reporting Services
Aplica-se a: SQL Server Reporting Services (2016) SharePoint ❌ Servidor de Relatórios do Power BI
Para obter conteúdo relacionado a versões anteriores do SSRS (SQL Server Reporting Services), confira O que é o SQL Server Reporting Services?
Quando você instala o modo do SharePoint do SQL Server 2016 Reporting Services, os cmdlets do PowerShell são instalados para dar suporte aos Servidores de relatório no modo do SharePoint. Os cmdlets abrangem três categorias de funcionalidade.
Instalação do serviço compartilhado e proxy do SharePoint do Reporting Services.
Provisionamento e gerenciamento de aplicativos de serviço do Reporting Services e proxies associados.
Gerenciamento de recursos do Reporting Services, por exemplo, extensões e chaves de criptografia.
Observação
A integração do Reporting Services ao SharePoint não está mais disponível após o SQL Server 2016.
Resumo do cmdlet
Para executar os cmdlets, é necessário abrir o Shell de Gerenciamento do SharePoint. Você também pode usar o editor de interface gráfica do usuário incluído no Microsoft Windows, o Ambiente de Script Integrado do Windows PowerShell (ISE) . Para obter mais informações, consulte Starting Windows PowerShell on Windows Server (Iniciando o Windows PowerShell no Windows Server). Nos resumos de cmdlet a seguir, as referências a “bancos de dados.” do aplicativo de serviço referem-se a todos os bancos de dados criados e usados por um aplicativo de serviço do Reporting Services. Isso inclui a os bancos de dados de configuração, alerta e temp.
Se uma mensagem de erro semelhante à seguinte for exibida quando você digitar os exemplos do PowerShell:
- Install-SPRSService: o termo "Install-SPRSService" não é reconhecido como
nome de cmdlet, função, arquivo de script ou programa operável. Verifique a ortografia do nome ou se um caminho foi incluído, verifique se ele está correto e tente novamente.
Um destes problemas está ocorrendo:
O modo do SharePoint do Reporting Services não está instalado e, portanto, os cmdlets do Reporting Services não estão instalados.
Você executou o comando do PowerShell no Windows PowerShell ou no ISE do Windows PowerShell, e não no Shell de Gerenciamento do SharePoint. Use o Shell de Gerenciamento do SharePoint ou adicione o Snap-in do SharePoint à janela do Windows PowerShell com o seguinte comando:
Add-PSSnapin Microsoft.SharePoint.PowerShell
Para obter mais informações, consulte Usar o Windows PowerShell para administrar o SharePoint 2013.
Abrir o Shell de Gerenciamento do SharePoint e executar cmdlets
Selecione o botão Iniciar.
Selecione o grupo Produtos do Microsoft SharePoint.
Selecione o Shell de Gerenciamento do SharePoint.
Para exibir a ajuda da linha de comando de um cmdlet, use o comando 'Get-Help' do PowerShell no prompt de comando do PowerShell. Por exemplo:
Get-Help Get-SPRSServiceApplicationServers
Cmdlets de serviço compartilhado e proxy
A tabela a seguir contém os cmdlets do PowerShell do serviço compartilhado SharePoint e Reporting Services.
Cmdlet | Descrição |
---|---|
Install-SPRSService | Instala e registra, ou desinstala, o serviço compartilhado Reporting Services. Essa ação só pode ser feita em um computador que tem o SQL Server Reporting Services instalado no modo do SharePoint. Para instalação, há duas operações: \- O serviço Reporting Services é instalado no farm. \- A instância do serviço Reporting Services é instalada no computador atual. Para desinstalação, há duas operações: \- O serviço Reporting Services é desinstalado do computador atual. \- O serviço Reporting Services é desinstalado do farm. Será exibida uma mensagem de aviso, se houver outros computadores no farm que têm o serviço Reporting Services instalado ou, se ainda houver aplicativos de serviço Reporting Services em execução no farm. |
Install-SPRSServiceProxy | Instala e registra, ou desinstala, o proxy do serviço Reporting Services no farm do SharePoint. |
Obtém-SPRSProxyUrl | Obtém a(s) URL(s) de acesso ao serviço do Reporting Services. |
Get-SPRSServiceApplicationServers | Acessa todos os servidores no farm local do SharePoint que contém uma instalação do serviço compartilhado Reporting Services. Esse cmdlet é útil para upgrades do Reporting Services, para determinar quais servidores executam o serviço compartilhado e, portanto, quais precisam ser atualizados. |
Cmdlets de aplicativo de serviço e proxy
A tabela a seguir contém cmdlets do PowerShell para aplicativos do serviço Reporting Services e seus proxies associados.
cmdlet | Descrição |
---|---|
Get-SPRSServiceApplication | Obtém um ou mais objetos de aplicativo do serviço Reporting Services. |
New-SPRSServiceApplication | Cria um novo aplicativo do serviço Reporting Services e os bancos de dados associados. Parâmetro LogonType: especifica se o servidor de relatório usa a conta do Pool de Aplicativos do SSRS ou uma credencial do SQL Server para acessar o banco de dados do servidor de relatório. Os valores válidos são: 0 Autenticação do Windows 1 SQL Server 2 Conta do pool de aplicativos (padrão) |
Remove-SPRSServiceApplication | Remove o aplicativo do serviço Reporting Services especificado. Esse cmdlet também removerá os bancos de dados associados. |
Set-SPRSServiceApplication | Edita as propriedades de um aplicativo do serviço Reporting Services existente. |
New-SPRSServiceApplicationProxy | Cria um novo proxy do aplicativo do serviço Reporting Services. |
Get-SPRSServiceApplicationProxy | Obtém um ou mais proxies de aplicativo do serviço Reporting Services. |
Dismount-SPRSDatabase | Desmonta os bancos de dados do aplicativo de serviço de um aplicativo do serviço Reporting Services. |
Remove-SPRSDatabase | Remove os bancos de dados do aplicativo de serviço de um aplicativo do serviço Reporting Services. |
Set-SPRSDatabase | Define as propriedades dos bancos de dados associados a um aplicativo do serviço Reporting Services. |
Mount-SPRSDatabase | Monta os bancos de dados de um aplicativo do serviço Reporting Services. |
New-SPRSDatabase | Cria novos bancos de dados do aplicativo de serviço para o aplicativo do serviço Reporting Services especificado. |
Get-SPRSDatabaseCreationScript | Gera o script de criação de banco de dados na tela de um aplicativo do serviço Reporting Services. Assim, você pode executar o script no SQL Server Management Studio. |
Get-SPRSDatabase | Obtém um ou mais bancos de dados de aplicativo do serviço Reporting Services. Use o comando para obter a ID do banco de dados do aplicativo de serviço para que você possa usar o comdlet Set-SPRSDatabase para alterar as propriedades, por exemplo querytimeout . Veja o exemplo neste artigo, Obter e definir propriedades do Banco de dados do aplicativo Reporting Services. |
Get-SPRSDatabaseRightsScript | Gera o script de direitos de banco de dados na tela de um aplicativo do serviço Reporting Services. O usuário e o banco de dados desejados serão solicitados e o transact SQL que você pode executar para modificar permissões é retornado. Assim, você pode executar esse script no SQL Server Management Studio. |
Get-SPRSDatabaseUpgradeScript | Gera um script de atualização de banco de dados na tela. O script atualizará os bancos de dados do aplicativo do serviço Reporting Services para a versão de banco de dados da instalação atual do Reporting Services. |
Cmdlets de funcionalidade personalizada do Reporting Services
Cmdlet | Descrição |
---|---|
Update-SPRSEncryptionKey | Atualiza a chave de criptografia do aplicativo do serviço Reporting Services especificado e recriptografa seus dados. |
Restore-SPRSEncryptionKey | Restaura a chave de criptografia com backup anterior para um aplicativo do serviço Reporting Services. |
Remove-SPRSEncryptedData | Exclui os dados criptografados do aplicativo do serviço Reporting Services especificado. |
Backup-SPRSEncryptionKey | Atualiza a chave de criptografia do aplicativo de serviço especificado do Reporting Services e recriptografa seus dados. |
New-SPRSExtension | Registra uma nova extensão com um aplicativo do serviço Reporting Services. |
Set-SPRSExtension | Define as propriedades de uma extensão existente do Reporting Services. |
Remove-SPRSExtension | Remove uma extensão de um aplicativo do serviço Reporting Services. |
Get-SPRSExtension | Obtém uma ou mais extensões do Reporting Services para um aplicativo do serviço Reporting Services. Os valores válidos são: Entrega DeliveryUI Renderizar Dados Segurança Autenticação EventProcessing ReportItems Designer ReportItemDesigner ReportItemConverter ReportDefinitionCustomization |
Get-SPRSSite | Acessa sites do SharePoint com base na habilitação ou não do recurso "ReportingService". Por padrão, os sites que habilitam o recurso "ReportingService" são retornados. |
Amostras básicas
Retorne uma lista de cmdlets que contém 'SPRS' no nome. Esta será a lista completa de cmdlets do Reporting Services.
Get-command -noun *SPRS*
Ou com um pouco mais de detalhes, conectada a um arquivo de texto denominado commandlist.txt
Get-command -noun *SPRS* | Select name, definition | Format-List | Out-File c:\commandlist.txt
Instale o serviço SharePoint do Reporting Services e o proxy de serviço.
Install-SPRSService
Install-SPRSServiceProxy
Inicie o serviço Reporting Services.
get-spserviceinstance -all |where {$_.TypeName -like "SQL Server Reporting*"} | Start-SPServiceInstance
Digite o seguinte comando do SharePoint Management Shell para retornar uma lista filtrada de linhas do arquivo de log. O comando filtrará por linhas que contêm "ssrscustomactionerror". Este exemplo examina o arquivo de log criado quando o rssharepoint.msi foi instalado.
Get-content -path C:\Users\testuser\AppData\Local\Temp\rs_sp_0.log | select-string "ssrscustomactionerror"
Amostras detalhadas
Além das amostras a seguir, confira a seção "Script do Windows PowerShell" no artigo Scripts do Windows PowerShell para as Etapas 1 a 4.
Criar um aplicativo de serviço e proxy do Reporting Services
Este script de exemplo conclui as tarefas seguintes:
Cria um aplicativo de serviço e proxy Reporting Services. O script supõe que o pool de aplicativos "My App Pool" já existe.
Adicione o proxy ao grupo proxy padrão.
Permita para o aplicativo de serviço o acesso ao banco de dados de conteúdo do aplicativo Web na porta 80. O script pressupõe que o site
https://sitename
já exista.
# 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)
Revisar e atualizar uma extensão de entrega do Reporting Services
O exemplo de script PowerShell a seguir atualiza a configuração completa da extensão de entrega de email do servidor de relatório para o aplicativo de serviço denominado My RS Service App
. Atualize os valores do servidor SMTP (<email server name>
) e o alias de email 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
No exemplo acima, se você não sabia o nome exato do aplicativo de serviço, poderia reescrever a primeira instrução para obter o aplicativo de serviço com base em uma pesquisa de nome parcial. Por exemplo:
$app=get-sprsserviceapplication | where {$_.name -like " ssrs_testapp *"}
O script a seguir retorna os valores de configuração atuais para a extensão de entrega de email do servidor de relatório para o aplicativo de serviço chamado "Aplicativo Reporting Services". A primeira etapa define o valor da variável $app para o objeto do aplicativo de serviço denominado " My RS Service App "
A segunda instrução obterá a extensão de entrega 'Report Server Email' para o objeto de aplicativo de serviço na variável $app e selecionará configurationXML.
$app=get-sprsserviceapplication -Name "Reporting Services Application"
Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml
Você também pode reescrever as duas instruções anteriores como se fossem uma:
get-sprsserviceapplication -Name "Reporting Services Application" | Get-SPRSExtension -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml
Obter e definir as propriedades do banco de dados de aplicativo do Reporting Services
O seguinte exemplo retorna primeiro uma lista de banco de dados e propriedades, de forma que é possível determinar o banco de dados guid (ID) que você fornecerá ao comando do conjunto. Para obter uma lista completa das propriedades, consulte Get-SPRSDatabase | format-list
.
get-SPRSDatabase | select id, querytimeout,connectiontimeout, status, server, ServiceInstance
A saída a seguir é um exemplo. Determine a ID para o banco de dados que você deseja modificar e use a ID no 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
Para verificar se o valor está definido, execute o cmdlet GET novamente.
Get-SPRSDatabase -identity 56f8d1bc-cb04-44cf-bd41-a873643c5a14 | select id, querytimeout,connectiontimeout, status, server, ServiceInstance
Listar extensões de dados do Microsoft Reporting Services
O exemplo a seguir executa um loop em cada aplicativo do serviço Reporting Services e lista as extensões de dados atuais de cada um.
$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
}
Exemplo de saída:
Name ExtensionType
---- -------------
SQL Data
SQLAZURE Data
SQLPDW Data
OLEDB Data
OLEDB-MD Data
ORACLE Data
ODBC Data
XML Data
SHAREPOINTLIST Data