Доступ к поставщику 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()