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

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

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

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

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

Применимо к: Режим SharePoint служб отчетности

Этот раздел содержит следующее:

Сводка командлета

Чтобы запустить командлеты, откройте консоль управления SharePoint. Вы также можете использовать графический редактор пользовательского интерфейса, который входит в состав интегрированной среды сценариев (ISE) Microsoft Windows, Windows PowerShell. Дополнительные сведения см. в статье "Запуск Windows PowerShell на Windows Server". В следующих кратких описаниях командлетов ссылки на базы данных приложения службы относятся ко всем базам данных, созданным и используемым приложением службы Reporting Services. К ним относятся конфигурация, оповещения и временные базы данных.

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

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

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

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

  • Вы выполнили команду PowerShell в Windows PowerShell или среде сценариев Windows PowerShell вместо оболочки управления 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 Products.

  3. Щелкните оболочку управления SharePoint.

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

Get-Help Get-SPRSServiceApplicationServers

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

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

cmdlet Описание
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. Этот командлет полезен для обновлений служб Reporting Services, чтобы определить, какие серверы выполняют общую службу и поэтому необходимо обновить.

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

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

командлет Описание
Get-SPRSServiceApplication Возвращает один или несколько объектов приложения службы Reporting Services.
New-SPRSServiceApplication Создайте новое приложение службы Reporting Services и связанные базы данных.

Параметр входа в систему. Указывает, использует ли сервер отчетов учетную запись пула приложений 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. Используйте команду, чтобы получить идентификатор базы данных приложения-службы, чтобы использовать Set-SPRSDatabase comdlet для изменения свойств, например querytimeout. См. пример, приведенный в этом разделе, получение и задание свойств базы данных приложения Reporting Servicea, например времени ожидания базы данных.
Get-SPRSDatabaseRightsScript Выводит скрипт прав базы данных на экран для приложения службы Reporting Services. Затем запросит нужного пользователя и базы данных, а затем возвращает transact SQL, который можно запустить для изменения разрешений. Затем этот скрипт можно запустить в СРЕДЕ SQL Server Management Studio.
Get-SPRSDatabaseUpgradeScript Выводит скрипт обновления базы данных на экран. Скрипт обновит базы данных приложений службы Reporting Services до версии текущей установки служб Reporting Services.

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

cmdlet Описание
Update-SPRSEncryptionKey Обновляет ключ шифрования для указанного приложения службы Reporting Services и повторно шифрует свои данные.
Restore-SPRSEncryptionKey Восстанавливает ранее сохраненный ключ шифрования для приложения службы Reporting Services.
Remove-SPRSEncryptedData Удалите зашифрованные данные для указанного приложения службы Reporting Services.
Backup-SPRSEncryptionKey Резервное копирование ключа шифрования для указанного приложения службы Reporting Services.
New-SPRSExtension Регистрирует новое расширение в приложении службы Reporting Services.
Set-SPRSExtension Устанавливает свойства существующего расширения служб отчётности.
Remove-SPRSExtension Удаляет расширение из приложения службы Reporting Services.
Get-SPRSExtension Получает одно или несколько расширений службы отчетов для приложения службы отчетов.

Допустимые значения:

Доставка

DeliveryUI

Передавать

Данные

Безопасность

Аутентификация

EventProcessing

ЭлементыОтчета

Конструктор

ReportItemDesigner

ReportItemConverter

НастройкаОпределенияОтчета
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 и их прокси-службу.

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"  

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

Помимо приведенных ниже примеров, см. раздел "Скрипт Windows PowerShell" в разделе скрипта Windows PowerShell для шагов 1-4.

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

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

  1. Создайте приложение службы Reporting Services и прокси-сервер. Сценарий предполагает, что пул приложений "Мой пул приложений" уже существует.

  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>) и псевдонима электронной почты 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  

В приведенном выше примере, если вы не знаете точное имя служебного приложения, можно изменить первое выражение, чтобы получить служебное приложение на основе поиска по частичному имени. Рассмотрим пример.

$app = Get-SPRSServiceApplication | Where {$_.name -like " ssrs_testapp *"}  

Следующий скрипт вернет текущие значения конфигурации для модуля доставки электронной почты сервера отчетов для приложения службы с именем "Приложение служб Reporting Services". Первый шаг задает значение переменной $app объекту приложения-службы с именем "My RS Service App"

Второе утверждение получит расширение доставки "Электронная почта сервера отчетов" для объекта служебного приложения в переменной $app и выберет конфигурацию XML.

$app = Get-SPRSServiceapplication -Name "Reporting Services Application"  
Get-SPRSExtension -Identity $app -ExtensionType "Delivery" -Name "Report Server Email" | Select -ExpandProperty ConfigurationXml  

Вы также можете переписать приведенные выше два оператора как одно:

Get-SPRSServiceApplication -Name "Reporting Services Application" | Get-SPRSExtension -ExtensionType "Delivery" -Name "Report Server Email" | Select -ExpandProperty ConfigurationXml  

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

В следующем примере сначала возвращается список баз данных и свойств, чтобы можно было определить 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  

Список расширений данных Reporting Services в режиме SharePoint

В следующем примере поочередно обрабатывается каждое приложение службы 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

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

См. статью "Использование PowerShell для изменения и перечисления владельцев подписок служб Reporting Services" и запуска подписки.

См. также

Использование PowerShell для изменения и перечисления владельцев подписок в службах отчетности и запуска подписки
Контрольный список. Использование PowerShell для проверки PowerPivot для SharePoint
Скрипты PowerShell для управления SharePoint от CodePlex