Командлеты PowerShell (службы Reporting Services в режиме SharePoint)

При установке служб SQL Server 2012 Reporting Services в режиме интеграции с SharePoint инсталлируются командлеты PowerShell для поддержки серверов отчетов в режиме интеграции с SharePoint. Командлеты охватывают три категории функциональных возможностей.

  • Установка общей службы и прокси-сервера SharePoint службы Reporting Services.

  • Провизионирование и управление приложениями служб Reporting Services и связанными с ними прокси-серверами.

  • Управление функциями служб Reporting Services, например расширениями и ключами шифрования.

В этом разделе обсуждается следующее.

  • Cmdlet Summary

  • Shared Service Cmdlets

  • Service Application Cmdlets

  • Reporting Services functionality related Cmdlets

  • Basic Samples

  • Detailed Samples

    • Create a service application and proxy

    • Review and update a delivery extension

    • Get and set Properties of the Reporting Service Application Database

    • List Data Extensions

    • Change and list subscription owners

Обзор командлетов

Для выполнения командлетов необходимо открыть консоль управления SharePoint. Можно также использовать редактор графического пользовательского интерфейса, который включен в Microsoft Windows, Интегрированная среда скриптов Windows PowerShell. Дополнительные сведения см. в разделе Запуск Windows PowerShell на Windows Server (https://technet.microsoft.com/library/hh847814.aspx). В следующих сводках о командлетах ссылки на «базы данных» служебного приложения указывают на все базы данных, созданные и используемые приложением службы Reporting Services. Это включает базы данных конфигурации, предупреждений и временные базы данных.

Если при вводе примеров PowerShell отображается сообщение об ошибке следующего вида:

  • Install-SPRSService: термин «Install-SPRSService» не опознан как имя командлета, функции, файла скрипта или действующей программы. Проверьте правильность написания имени, а если включен путь, то проверьте правильность пути и повторите попытку.

Возникает одна из следующих проблем.

  • Reporting Services Режим SharePoint не установлен, поэтому не установлены командлеты Reporting Services.

  • Команда PowerShell была выполнена в Windows PowerShell или Windows PowerShell ISE, а не в оболочке управления SharePoint. Используйте оболочку управления SharePoint или добавьте оснастку SharePoint к окну Windows PowerShell с помощью следующей команды:

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    

Дополнительные сведения см. в разделе Использование Windows PowerShell для управления SharePoint 2013 (https://technet.microsoft.com/library/ee806878.aspx).

Открытие оболочки управления SharePoint и выполнение командлетов

  1. Нажмите кнопку Пуск.

  2. Щелкните группу Продукты Microsoft SharePoint.

  3. Щелкните Консоль управления SharePoint.

Чтобы просмотреть справку командной строки для командлета, используйте команду Get-Help среды PowerShell в командной строке PowerShell. Например:

Get-Help Get-SPRSServiceApplicationServers

Значок стрелки, используемый со ссылкой «В начало»Top

Командлеты общей службы и прокси-серверов

В следующей таблице содержатся командлеты PowerShell для общей службы SharePoint Reporting Services.

Командлет

Описание

Install-SPRSService

Устанавливает и регистрирует, либо удаляет общую службу Reporting Services. Это можно сделать только на компьютере, где имеется установка служб SQL Server Reporting Services в режиме интеграции с SharePoint. При установке выполняются две операции.

  1. Служба Reporting Services устанавливается в ферме.

  2. Экземпляр службы Reporting Services устанавливается на текущем компьютере.

При удалении выполняются две операции.

  1. Служба Reporting Services удаляется с текущего компьютера.

  2. Службы Reporting Services удаляются из фермы.

Примечание. Если в ферме присутствуют другие компьютеры, на которых установлены службы Reporting Services, или если в ферме все еще выполняются приложения службы Reporting Services, будет отображено сообщение с предупреждением.

Install-SPRSServiceProxy

Устанавливает и регистрирует или удаляет прокси-сервер службы Reporting Services на ферме SharePoint.

Get-SPRSProxyUrl

Возвращает URL-адреса для доступа к службе Reporting Services.

Get-SPRSServiceApplicationServers

Возвращает все серверы в локальной ферме SharePoint, на которых имеется установка общей службы Reporting Services.

Значок стрелки, используемый со ссылкой «В начало»Top

Командлеты приложения службы и прокси-серверов

В следующей таблице содержатся командлеты PowerShell для приложений службы Reporting Services и связанных с ними прокси-серверами.

командлет

Описание

Get-SPRSServiceApplication

Получает одно или несколько приложений службы Reporting Services.

New-SPRSServiceApplication

Создание нового приложения службы Reporting Services и связанных баз данных.

Параметр LogonType Указывает, использует ли сервер отчетов учетную запись пула приложений служб SSRS или имя входа SQL Server для доступа к базе данных сервера отчетов. Может принимать одно из следующих значений:

  • 0 Проверка подлинности Windows

  • 1 SQL Server

  • 2 Учетная запись пула приложений (по умолчанию)

Remove-SPRSServiceApplication

Удаляет указанное приложение службы Reporting Services. Также будут удалены связанные базы данных.

Set-SPRSServiceApplication

Изменяет свойства существующего приложения службы Reporting Services.

New-SPRSServiceApplicationProxy

Создание прокси-сервера приложения службы Reporting Services.

Get-SPRSServiceApplicationProxy

Получает один или несколько прокси-серверов приложений службы Reporting Services.

Dismount-SPRSDatabase

Выполняет размонтирование баз данных приложения службы для приложения службы Reporting Services.

Remove-SPRSDatabase

Выполняет удаление баз данных приложения службы для приложения службы Reporting Services.

Set-SPRSDatabase

Задает свойства баз данных, связанных с приложением службы Reporting Services.

Mount-SPRSDatabase

Присоединяет базы данных для приложения службы Reporting Services.

New-SPRSDatabase

Создает новые базы данных приложения службы для заданного приложения службы Reporting Services.

Get-SPRSDatabaseCreationScript

Выводит на экран скрипт создания базы данных для приложения службы Reporting Services. Затем скрипт можно запустить в среде SQL Server Management Studio.

Get-SPRSDatabase

Получает одну или несколько баз данных приложения службы Reporting Services.

Get-SPRSDatabaseRightsScript

Выводит на экран скрипт определения прав базы данных для базы данных приложения службы Reporting Services. Запрашивает необходимые сведения о пользователе и базе данных, а затем возвращает код Transact-SQL, который можно выполнить для изменения разрешений. Затем этот скрипт можно запустить в среде SQL Server Management Studio.

Get-SPRSDatabaseUpgradeScript

Выводит скрипт обновления базы данных на экран. Скрипт произведет обновление баз данных приложения службы Reporting Services до версии баз данных текущей установки служб Reporting Services.

Значок стрелки, используемый со ссылкой «В начало»Top

Командлеты пользовательской функциональности служб Reporting Services

Командлет

Описание

Update-SPRSEncryptionKey

Обновляет ключ шифрования для указанного приложения службы Reporting Services и повторно шифрует его данные.

Restore-SPRSEncryptionKey

Восстанавливает созданную ранее резервную копию ключа шифрования для приложения службы Reporting Services.

Remove-SPRSEncryptedData

Удаляет зашифрованные данные для указанного приложения службы Reporting Services.

Backup-SPRSEncryptionKey

Создает резервную копию ключа шифрования для указанного приложения службы Reporting Services.

New-SPRSExtension

Регистрирует новый модуль для работы с приложением службы Reporting Services.

Set-SPRSExtension

Задает свойства существующего модуля служб Reporting Services.

Remove-SPRSExtension

Удаляет модуль из приложения службы Reporting Services.

Get-SPRSExtension

Возвращает одно или несколько расширений служб Reporting Services для приложения службы Reporting Services.

Get-SPRSSite

Возвращает сайты SharePoint с учетом того, включена ли на них функция «ReportingService». По умолчанию возвращаются сайты, на которых включена функция «ReportingService».

Простые примеры

Возвращает список командлетов, содержащих в названии строку «SPRS». Это будет полный список Reporting Services командлетов.

Get-command –noun *SPRS*

Или (немного более подробно) перенаправлены в текстовый файл с именем commandlist.txt

Get-command -noun *SPRS*| select name, definition |Format-list | Out-File c:\commandlist.txt

Установка службы SharePoint Reporting Services и прокси-сервера службы.

Install-SPRSService

Install-SPRSServiceProxy

Запускает службу Reporting Services

get-spserviceinstance -all |where {$_.TypeName -like "SQL Server Reporting*"} | Start-SPServiceInstance

Введите следующую команду в консоли управления SharePoint, чтобы получить из файла журнала отфильтрованный список строк. Команда отфильтрует строки, содержащие подстроку «ssrscustomactionerror». В этом примере рассматривается файл журнала, созданный при установке rssharepoint.msi.

Get-content -path C:\Users\testuser\AppData\Local\Temp\rs_sp_0.log | select-string "ssrscustomactionerror"

Значок стрелки, используемый со ссылкой «В начало»Top

Подробные примеры

Кроме приведенных ниже примеров, см. подраздел «Скрипт Windows PowerShell» раздела (Steps 1-4) Windows PowerShell script for Steps 1–4.

Создайте приложение службы и прокси-сервер

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

  1. Создайте приложение службы Reporting Services и прокси-сервер. В скрипте предполагается, что пул приложений «My App Pool» уже существует.

  2. Добавьте прокси-сервер в группу прокси-серверов по умолчанию

  3. Предоставьте приложению службы доступ к порту 80 базы данных содержимого веб-приложения. В скрипте предполагается, что сайт «http://sitename» уже существует.

# 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 “http://sitename”
$appPoolAccountName = $appPool.ProcessAccount.LookupName()
$webApp.GrantAccessToProcessIdentity($appPoolAccountName)

Проверьте и обновите модуль доставки

Следующий пример скрипта PowerShell обновляет конфигурацию модуля доставки электронной почты сервера отчетов для приложения службы с именем My RS Service App. Укажите свои значения для имени SMTP-сервера (<email server name>) и псевдонима адреса эл. почты «ОТ» (<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

В приведенном выше примере, если точное имя приложения службы не известно, можно было изменить первую инструкцию таким образом, чтобы имя приложения службы возвращалось на основе поиска фрагмента имени. Например:

$app=get-sprsserviceapplication | where {$_.name -like " My RS Ser *"}

Следующий скрипт возвратит текущие значения конфигурации для модуля доставки по электронной почте сервера отчетов для приложения службы с именем «Мое приложение служб RS». В ходе первого шага производится задание для переменной $app значения, равного объекту приложения службы с именем «Мое приложение служб RS».

Во второй инструкции запрашивается значение модуля доставки «электронная почта сервера отчетов» для объекта приложения службы в переменной $app и выбрано configurationXML (XML-файлы конфигурации).

$app=get-sprsserviceapplication –Name "My RS Service App"
Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml

Значок стрелки, используемый со ссылкой «В начало»Top

Получение и задание свойств базы данных приложения-службы отчетов

Следующий пример сначала возвращает список баз данных и свойств, чтобы можно было определить идентификатор GUID базы данных, который затем передается в команду set. Полный список свойств см. в описании Get-SPRSDatabase | format-list.

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

Далее приведен пример выходных данных. Определите идентификатор для базы данных, которую требуется изменить, и используйте его в командлете 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

Чтобы убедиться, что значение задано, запустите командлет GET еще раз.

Get-SPRSDatabase –identity 56f8d1bc-cb04-44cf-bd41-a873643c5a14 | select id, querytimeout,connectiontimeout, status, server, ServiceInstance

Значок стрелки, используемый со ссылкой «В начало»Top

Список модулей обработки данных

Следующий пример обрабатывает каждое приложение-службу Reporting Services и выводит для каждого из них список текущих модулей обработки данных.

$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
}

Пример выходных данных:

  • Name ExtensionType

    ---- -------------

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Значок стрелки, используемый со ссылкой «В начало»Top

Изменение владельцев подписки и вывод их списка

См. раздел Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription.

Значок стрелки, используемый со ссылкой «В начало»Top

См. также

Основные понятия

Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription

Получение справок по SQL Server PowerShell

Другие ресурсы

Скрипты PowerShell для управления SharePoint CodePlex

Администрирование служб SSRS с использованием PowerShell