Поделиться через


Доступ к поставщику WMI служб Reporting Services

Поставщик WMI служб Reporting Services отображает два класса WMI для администрирования экземпляров серверов отчетов, работающих в собственном режиме, путем создания сценариев:

Внимание

Начиная с выпуска SQL Server 2012 (11.x), поставщик WMI поддерживается только для серверов отчетов, работающих в собственном режиме. Серверы отчетов служб в режиме интеграции с SharePoint могут управляться со страниц центра администрирования SharePoint и с помощью скриптов PowerShell.

Класс Пространство имен Description
MSReportServer_Instance root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v13 Основные сведения, необходимые клиенту для подключения к установленному серверу отчетов.
MSReportServer_ConfigurationSetting root\Microsoft\SqlServer\ReportServer\RS_<EncodedInstanceName>\v13\Admin Представляет установочные параметры и параметры времени выполнения для экземпляра сервера отчетов. Эти параметры хранятся в файле конфигурации для сервера отчетов.

** Важно ** Этот класс доступен только для пользователей с правами администратора.

Экземпляр каждого из перечисленных выше классов создается для каждого экземпляра сервера отчетов. Для доступа к объектам WMI, предоставляемым сервером отчетов, можно использовать любые средства Майкрософт или не Майкрософт, включая интерфейсы программирования WMI, предоставляемые самим платформа .NET Framework. В этой статье описывается, как получить доступ к экземплярам класса WMI и использовать их с помощью команды PowerShell Get-WmiObject.

Определение имени экземпляра в строке пространства имен

Имя экземпляра в пути к пространству имен для классов WMI служб Reporting Services представляет собой кодировку имен экземпляра, которая указывается вами при установке именованных экземпляров служб Reporting Services. Конкретно в именах экземплярах кодируются специальные символы. Например, подчеркивание (_) закодировано как _5f, поэтому имя экземпляра My_Instance закодировано как My_5fInstance в пути пространства имен WMI.

Для просмотра списка закодированных имен экземпляров вашего сервера отчетов в пути к пространству имен WMI используйте следующую команду PowerShell:

PS C:\windows\system32> Get-WmiObject -namespace root\Microsoft\SqlServer\ReportServer  -class __Namespace -ComputerName hostname | select Name  

Доступ к классам WMI с помощью PowerShell

Для получения доступа к классам WMI выполните следующую команду:

PS C:\windows\system32> Get-WmiObject -namespace <namespacename> -class <classname> -ComputerName <hostname>  

Например, для получения доступа к классу MSReportServer_ConfigurationSetting на экземпляре сервера отчетов по умолчанию узла myrshost, выполните следующую команду: Для успешного выполнения данной команды необходимо, чтобы экземпляр сервера отчетов по умолчанию был установлен на узле myrshost.

PS C:\windows\system32> Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERER\v11\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost  

Синтаксис данной команды выводит все имена и значения свойств класса. Возвращаются все экземпляры класса MSReportServer_ConfigurationSetting, даже если вы обращаетесь к классу в пространстве имен экземпляра сервера отчетов по умолчанию (RS_MSSQLSERVER). Например, myrshost может быть установлен с экземпляром сервера отчетов по умолчанию и именованным экземпляром сервера отчетов с именем SHAREPOINT. Эта команда возвращает два объекта WMI и выводит имена и значения свойств для экземпляров сервера отчетов.

Для возвращения определенного экземпляра класса при возвращении нескольких экземпляров, используйте параметр -Filter для фильтрации результатов на основании свойств с уникальными значениями, как, например, InstanceName. Например, чтобы вернуть только объект WMI для экземпляра сервера отчетов по умолчанию, используйте следующую команду:

PS C:\windows\system32> Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v13\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost -filter "InstanceName='MSSQLSERVER'"  

Запрос доступных методов и свойств

Для просмотра доступных методов и свойств в одном из классов WMI служб Reporting Services примените результаты из команды Get-WmiObject в команду Get-Member. Например:

PS C:\windows\system32> Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v13\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost | Get-Member  

Использование метода или свойства WMI

Вы можете использовать доступные методы и свойства при наличии объектов WMI для классов служб Reporting Services. Например, при наличии именованного экземпляра сервера отчетов в режиме интеграции с SharePoint с названием SHAREPOINT можно использовать следующую последовательность команд для получения URL-адреса для сайта центра администрирования SharePoint:

PS C:\windows\system32> $rsconfig = Get-WmiObject -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLServer\v13\Admin" -class MSReportServer_ConfigurationSetting -ComputerName myrshost -filter "InstanceName='SHAREPOINT'"  
PS C:\windows\system32> $rsconfig.GetAdminSiteUrl()