Partilhar via


Cmdlets do PowerShell para o modo do SharePoint do Reporting Services

Aplica-se a: SQL Server Reporting Services (2016) SharePoint Não suportado Power BI Report Server

Para obter conteúdo relacionado a versões anteriores do SQL Server Reporting Services (SSRS), consulte 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 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 com o SharePoint não está mais disponível após o SQL Server 2016.

Resumo do cmdlet

Para executar os cmdlets, você precisa 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, Windows PowerShell Integrated Scripting Environment (ISE). Para obter mais informações, consulte 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 os bancos de dados de configuração, alertas e temporários.

Se você vir uma mensagem de erro semelhante à seguinte quando inserir os exemplos do PowerShell:

  • Install-SPRSService: O termo 'Install-SPRSService' não é reconhecido como o
    Nome de um cmdlet, função, arquivo de script ou programa operável. Verifique a ortografia do nome ou, se um caminho foi incluído, verifique se o caminho está correto e tente novamente.

Está a ocorrer um dos seguintes problemas:

  • 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 PowerShell no Windows PowerShell ou no Windows PowerShell ISE em vez do 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  
    

Abra o Shell de Gerenciamento do SharePoint e execute cmdlets

  1. Selecione o botão Iniciar.

  2. Selecione o grupo Produtos do Microsoft SharePoint .

  3. Selecione o Shell de Gerenciamento do SharePoint.

Para exibir a ajuda da linha de comando para um cmdlet, use o comando 'Get-Help' do PowerShell no prompt de comando do PowerShell. Por exemplo:

Get-Help Get-SPRSServiceApplicationServers

Serviço compartilhado e cmdlets de proxy

A tabela a seguir contém os cmdlets do PowerShell para o serviço compartilhado do SharePoint do Reporting Services.

Cmdlet Description
Install-SPRSService Instala e registra, ou desinstala, o serviço compartilhado do Reporting Services. Essa ação só pode ser feita na máquina que tem uma instalação do SQL Server Reporting Services no modo do SharePoint. Para a instalação, ocorrem duas operações:

-O serviço Reporting Services está instalado no farm.

-A instância de serviço do Reporting Services é instalada na máquina atual.

Para a desinstalação, ocorrem duas operações:

-O serviço Reporting Services é desinstalado da máquina atual.

-O serviço Reporting Services é desinstalado do farm.



Uma mensagem de aviso será exibida se houver outras máquinas no farm que tenham o serviço Reporting Services instalado ou se ainda houver aplicativos de serviço do Reporting Services em execução no farm.
Install-SPRSServiceProxy Instala e registra, ou desinstala, o proxy de serviço do Reporting Services no farm do SharePoint.
Get-SPRSProxyUrl Obtém a(s) URL(s) para acessar o serviço Reporting Services.
Get-SPRSServiceApplicationServers Obtém todos os servidores no farm local do SharePoint que contêm uma instalação do serviço compartilhado do Reporting Services. Esse cmdlet é útil para atualizações do Reporting Services, para determinar quais servidores executam o serviço compartilhado e, portanto, precisam ser atualizados.

Aplicativo de serviço e cmdlets de proxy

A tabela a seguir contém os cmdlets do PowerShell para aplicativos de serviço do Reporting Services e seus proxies associados.

cmdlet Description
Get-SPRSServiceApplication Obtém um ou mais objetos de aplicativo de serviço do Reporting Services.
New-SPRSServiceApplication Crie um novo aplicativo de serviço do Reporting Services e 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 entrada 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 de serviço do Reporting Services especificado. Este cmdlet também remove os bancos de dados associados.
Set-SPRSServiceApplication Edita as propriedades de um aplicativo de serviço existente do Reporting Services.
New-SPRSServiceApplicationProxy Cria um novo proxy de aplicativo de serviço do Reporting Services.
Get-SPRSServiceApplicationProxy Obtém um ou mais proxies de aplicativo de serviço do Reporting Services.
Dismount-SPRSDatabase Desmonta os bancos de dados do aplicativo de serviço para um aplicativo de serviço do Reporting Services.
Remove-SPRSDatabase Remova os bancos de dados de aplicativo de serviço de um aplicativo de serviço do Reporting Services.
Set-SPRSDatabase Define as propriedades dos bancos de dados associados a um aplicativo de serviço do Reporting Services.
Mount-SPRSDatabase Monta bancos de dados para um aplicativo de serviço do Reporting Services.
New-SPRSDatabase Crie novos bancos de dados de aplicativo de serviço para o aplicativo de serviço Reporting Services especificado.
Get-SPRSDatabaseCreationScript Envia o script de criação de banco de dados para a tela de um aplicativo de serviço do Reporting Services. Em seguida, você pode executar o script no SQL Server Management Studio.
Get-SPRSDatabase Obtém um ou mais bancos de dados de aplicativo de serviço do Reporting Services. Use o comando para obter a ID do banco de dados do aplicativo de serviço para que você possa usar o cmdlet Set-SPRSDatabase para modificar propriedades, por exemplo, o querytimeout. Consulte o exemplo neste artigo, Obter e definir propriedades do banco de dados do aplicativo Reporting Service.
Get-SPRSDatabaseRightsScript Envia o script de direitos de banco de dados para a tela de um aplicativo de serviço do Reporting Services. Ele solicita o usuário e o banco de dados desejados e, em seguida, retorna o SQL transact que você pode executar para modificar permissões. Em seguida, você pode executar esse script no SQL Server Management Studio.
Get-SPRSDatabaseUpgradeScript Gera um script de atualização de banco de dados para a tela. O script atualiza os bancos de dados do aplicativo de serviço do Reporting Services para a versão do banco de dados da instalação atual do Reporting Services.

Cmdlets de funcionalidade personalizada do Reporting Services

Cmdlet Description
Update-SPRSEncryptionKey Atualiza a chave de criptografia para o aplicativo de serviço Reporting Services especificado e criptografa novamente seus dados.
Restore-SPRSEncryptionKey Restaura uma chave de criptografia com backup anterior para um aplicativo de serviço do Reporting Services.
Remove-SPRSEncryptedData Exclua os dados criptografados do aplicativo de serviço Reporting Services especificado.
Backup-SPRSEncryptionKey Faz backup da chave de criptografia para o aplicativo de serviço Reporting Services especificado.
New-SPRSExtension Registra uma nova extensão com um aplicativo de serviço do Reporting Services.
Set-SPRSExtension Define as propriedades de uma extensão existente do Reporting Services.
Remove-SPRSExtension Remove uma extensão de um aplicativo de serviço do Reporting Services.
Get-SPRSExtension Obtém uma ou mais extensões do Reporting Services para um aplicativo de serviço do Reporting Services.

Os valores válidos são:



Entrega

DeliveryUI

Render

Data

Segurança

Authentication

Processamento de Eventos

ReportItems

Projetista

ReportItemDesigner

ReportItemConverter

ReportDefinitionCustomization
Get-SPRSSite Obtém os sites do SharePoint com base em se o recurso "ReportingService" está habilitado. Por padrão, os sites que habilitam o recurso "ReportingService" são retornados.

Amostras básicas

Retorna uma lista de cmdlets que contêm 'SPRS' no nome. Esta lista é a lista completa de cmdlets do Reporting Services.

Get-command -noun *SPRS*  

Ou com um pouco mais de detalhes, canalizado para um arquivo de texto chamado 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  

Insira o seguinte comando do Shell de Gerenciamento do SharePoint para retornar uma lista filtrada de linhas do arquivo de log. O comando filtra linhas que contêm "ssrscustomactionerror". Este exemplo está examinando 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 dos exemplos a seguir, consulte a seção "Script do Windows PowerShell" no artigo Script do Windows PowerShell para as etapas 1 a 4.

Criar um proxy e um aplicativo de serviço do Reporting Services

Este script de exemplo conclui as seguintes tarefas:

  1. Crie um proxy e um aplicativo de serviço do Reporting Services. O script pressupõe que o pool de aplicativos "My App Pool" já existe.

  2. Adicionar o proxy ao grupo de proxy padrão

  3. Conceda ao aplicativo de serviço acesso ao banco de dados de conteúdo do aplicativo Web porta 80. O script pressupõe que o site https://sitename já existe.

# 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 do PowerShell a seguir atualiza a configuração da extensão de entrega de email do servidor de relatório para o aplicativo de serviço chamado My RS Service App. Atualize os valores para o servidor SMTP (<email server name>) e o alias de e-mail 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 souber o nome exato do aplicativo de serviço, poderá reescrever a primeira instrução para obter o aplicativo de serviço com base em uma pesquisa do 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 denominado "Aplicativo Reporting Services". A primeira etapa define o valor da variável $app para o objeto do aplicativo de serviço que tem um nome de " 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á o 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 uma só:

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

Obter e definir propriedades do banco de dados do aplicativo Reporting Service

O exemplo a seguir retorna primeiro uma lista dos bancos de dados e propriedades para que você possa determinar o guid (ID) do banco de dados que você fornece ao comando set. Para obter uma lista completa das propriedades, use Get-SPRSDatabase | format-list.

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

A saída a seguir é um exemplo. Determine a ID do 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 Reporting Services

O exemplo a seguir percorre cada aplicativo de serviço do Reporting Services e lista as extensões de dados atuais para 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

Alterar e listar proprietários de assinaturas do Reporting Services

Consulte Usar o PowerShell para alterar e listar proprietários de assinatura do Reporting Services e executar uma assinatura.