Командлеты 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 и выполнение командлетов
Нажмите кнопку Пуск.
Щелкните группу Продукты Microsoft SharePoint.
Щелкните Консоль управления SharePoint.
Чтобы просмотреть справку командной строки для командлета, используйте команду Get-Help среды PowerShell в командной строке PowerShell. Например:
Get-Help Get-SPRSServiceApplicationServers
Top
Командлеты общей службы и прокси-серверов
В следующей таблице содержатся командлеты PowerShell для общей службы SharePoint Reporting Services.
Командлет |
Описание |
---|---|
Install-SPRSService |
Устанавливает и регистрирует, либо удаляет общую службу Reporting Services. Это можно сделать только на компьютере, где имеется установка служб SQL Server Reporting Services в режиме интеграции с SharePoint. При установке выполняются две операции.
При удалении выполняются две операции.
Примечание. Если в ферме присутствуют другие компьютеры, на которых установлены службы 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 для доступа к базе данных сервера отчетов. Может принимать одно из следующих значений:
|
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.
Создайте приложение службы и прокси-сервер
Этот пример скрипта выполняет следующие задачи:
Создайте приложение службы Reporting Services и прокси-сервер. В скрипте предполагается, что пул приложений «My App Pool» уже существует.
Добавьте прокси-сервер в группу прокси-серверов по умолчанию
Предоставьте приложению службы доступ к порту 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