Acessar o provedor WMI do Reporting Services

O provedor WMI do Reporting Services expõe duas classes WMI para administração de instâncias de servidor de relatório do modo nativo através de scripts:

Importante

A partir da versão SQL Server 2012, o provedor WMI tem suporte apenas para servidores de relatório de modo nativo. Servidores de relatórios no modo do SharePoint podem ser gerenciados com páginas Administração Central do SharePoint e scripts do PowerShell.

Classe Namespace Descrição
MSReportServer_Instance root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v11 Fornece as informações básicas exigidas para um cliente se conectar a um servidor de relatório instalado.
MSReportServer_ConfigurationSetting root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v11\Administração Representa os parâmetros de instalação e de tempo de execução de uma instância do servidor de relatório. Esses parâmetros são armazenados no arquivo de configuração para o servidor de relatório.

** Importante ** Esta classe é acessível apenas com privilégios administrativos.

Uma instância de cada uma das classes anteriores é criada para cada instância de servidor de relatório. Você pode usar qualquer ferramenta Microsoft ou de terceiros para acessar os objetos WMI expostos pelo servidor de relatório, inclusive interfaces de programação de WMI expostas pelo próprio .NET Framework. Este tópico descreve como acessar e usar as instâncias de classe WMI com o comando do PowerShell Get-WmiObject.

Determine o nome de instância na cadeia de caracteres de namespace

O nome de instância no caminho de namespace para as classes WMI do Reporting Services é uma codificação dos nomes de instância que você especifica ao instalar as instâncias nomeadas do Reporting Services. Isto é, caracteres especiais são codificados nos nomes de instância. Por exemplo, um sublinhado (_) é codificado como "_5f"; assim, um nome de instância de "My_Instance" é codificado como "My_5fInstance" no caminho de namespace do WMI.

Para listar os nomes de instância codificados de suas instâncias de servidor de relatório no caminho de namespace do WMI, use o seguinte comando do PowerShell:

Get-WmiObject -Namespace root\Microsoft\SqlServer\ReportServer -Class __Namespace -ComputerName hostname | Select Name  

Acesse as classes WMI usando o PowerShell

Para acessar as classes WMI, execute o seguinte comando:

Get-WmiObject -Namespace <namespacename> -Class <classname> -ComputerName <hostname>  

Por exemplo, para acessar a classe MSReportServer_ConfigurationSetting na instância de servidor de relatório padrão do myrshost de host, execute o comando a seguir. A instância de servidor de relatório padrão deve ser instalada no myrshost para este comando ter êxito.

Get-WmiObject -Namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERER\v11\Admin" -Class MSReportServer_ConfigurationSetting -ComputerName myrshost  

Esta sintaxe de comando gera todos os nomes e valores de propriedade de classe. Observe que todas as instâncias da classe MSReportServer_ConfigurationSetting são retornadas, embora você esteja acessando a classe no namespace da instância de servidor de relatório padrão (RS_MSSQLSERVER). Por exemplo, se myrshost for instalado com a instância de servidor de relatório padrão e uma instância de servidor de relatório nomeada chamada SHAREPOINT, este comando retornará dois objetos WMI e gerará os nomes e valores de propriedade para ambas as instâncias de servidor de relatório.

Para retornar uma instância de classe específica quando várias instâncias são retornadas, use o parâmetro -Filter para filtrar os resultados com base em propriedades com valores exclusivos como InstanceName. Por exemplo, para retornar apenas o objeto WMI para a instância de servidor de relatório padrão, use o seguinte comando:

Get-WmiObject -Namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v11\Admin" -Class MSReportServer_ConfigurationSetting -ComputerName myrshost -Filter "InstanceName='MSSQLSERVER'"  

Consultar os métodos e as propriedades disponíveis

Para consultar que métodos e propriedades estão disponíveis em uma das classes WMI do Reporting Services, canalize os resultados de Get-WmiObject para o comando Get-Member. Por exemplo:

Get-WmiObject -Namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v11\Admin" -Class MSReportServer_ConfigurationSetting -ComputerName myrshost | Get-Member  

Para obter documentação sobre as propriedades e métodos das classes WMI Reporting Services, consulte ....

Usar um método ou propriedade WMI

Quando você tiver os objetos WMI para as classes do Reporting Services e conhecer os métodos e as propriedades disponíveis, poderá usar esses métodos e propriedades. Por exemplo, se você tiver uma instância de servidor de relatório nomeada no modo Integrado do SharePoint chamado SHAREPOINT, use a seguinte sequência de comandos para recuperar a URL para o site de Administração Central do SharePoint:

$rsconfig = Get-WmiObject -Namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v11\Admin" -Class MSReportServer_ConfigurationSetting -ComputerName myrshost -Filter "InstanceName='SHAREPOINT'"  
$rsconfig.GetAdminSiteUrl()  

Consulte Também

Referência da Biblioteca do provedor WMI do Reporting Services (SSRS)
Arquivo de configuração RSReportServer