Reporting Services SharePoint モードの PowerShell コマンドレット
SQL Server 2014 Reporting Services SharePoint モードをインストールすると、SharePoint モードのレポート サーバーをサポートするために PowerShell コマンドレットがインストールされます。 コマンドレットは 3 つのカテゴリの機能をサポートしています。
Reporting Services SharePoint 共有サービスおよびプロキシのインストール。
Reporting Services サービス アプリケーションおよび関連付けられたプロキシのプロビジョニングと管理。
Reporting Services 機能 (拡張機能や暗号化キーなど) の管理。
適用対象: Reporting Services SharePoint モード |
このトピックの内容は次のとおりです。
コマンドレットの概要
コマンドレットを実行するには、SharePoint 管理シェルを開く必要があります。 Microsoft Windows に付属しているグラフィカル ユーザー インターフェイス エディター ( Windows PowerShell Integrated Scripting Environment (ISE) ) を使用することもできます。 詳細については、「 Windows Server での Windows PowerShell の開始) を使用することもできます。 次のコマンドレット概要では、サービス アプリケーション "データベース" への参照は、Reporting Services サービス アプリケーションによって作成および使用されたすべてのデータベースを参照します。 これには、構成、警告、および一時データベースが含まれます。
PowerShell の例を入力すると、次のようなエラー メッセージが表示されます。
- Install-SPRSService :用語 'Install-SPRSService' は、
コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。 名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
次のいずれかの問題が発生しています。
Reporting Services SharePoint モードがインストールされていないため、Reporting Services コマンドレットがインストールされていません。
SharePoint 管理シェルでなく、Windows PowerShell または Windows PowerShell ISE で PowerShell コマンドを実行しました。 SharePoint 管理シェルを使用するか、次のコマンドで SharePoint スナップインを Windows PowerShell ウィンドウに追加します。
Add-PSSnapin Microsoft.SharePoint.PowerShell
詳細については、「Windows PowerShellを使用して SharePoint 2013 を管理する (https://technet.microsoft.com/library/ee806878.aspx)」を参照してください。
SharePoint 管理シェルを開いてコマンドレットを実行するには
[スタート] ボタンをクリックします。
[Microsoft SharePoint 製品] グループをクリックします。
[SharePoint 管理シェル] をクリックします。
コマンドレットのコマンド ライン ヘルプを表示するには、PowerShell のコマンド プロンプトで 'Get-Help' コマンドを使用します。 次に例を示します。
Get-Help Get-SPRSServiceApplicationServers
共有サービスとプロキシ コマンドレット
次の表に、Reporting Services SharePoint 共有サービス用の PowerShell コマンドレットを示します。
コマンドレット | 説明 |
---|---|
Install-SPRSService | Reporting Services 共有サービスをインストールして登録するか、アンインストールします。 この操作は、SharePoint モードの SQL Server Reporting Services がインストールされているコンピューター上でのみ行うことができます。 インストールの場合は、以下の 2 つの操作が行われます。 1) Reporting Services サービスがファームにインストールされます。 2) Reporting Services サービス インスタンスが現在のマシンにインストールされます。 アンインストールの場合は、以下の 2 つの操作が行われます。 1) Reporting Services サービスが現在のコンピューターからアンインストールされます。 2) Reporting Services サービスがファームからアンインストールされます。 注: ファーム内にReporting Services サービスがインストールされている他のマシンがある場合、またはファームで実行中のサービス アプリケーションがまだReporting Services場合は、警告メッセージが表示されます。 |
Install-SPRSServiceProxy | SharePoint ファーム内で Reporting Services サービス プロキシをインストールして登録するか、アンインストールします。 |
Get-SPRSProxyUrl | Reporting Services サービスにアクセスするための URL を取得します。 |
Get-SPRSServiceApplicationServers | Reporting Services 共有サービスのインストールを含む、ローカル SharePoint ファーム内のすべてのサーバーを取得します。 このコマンドレットは、どのサーバーで共有サービスを実行していてアップグレードする必要があるかを調べる目的に適しており、Reporting Services のアップグレードに役立ちます。 |
サービス アプリケーションとプロキシ コマンドレット
次の表には、Reporting Services サービス アプリケーションとそれらに関連付けられたプロキシ用の PowerShell コマンドレットが含まれています。
コマンドレット | 説明 |
---|---|
Get-SPRSServiceApplication | 1 つ以上の Reporting Services サービス アプリケーション オブジェクトを取得します。 |
New-SPRSServiceApplication | 新しい Reporting Services サービス アプリケーションと、それに関連付けられたデータベースを作成します。 LogonType パラメーター: レポート サーバーが、レポート サーバー データベースへのアクセスに SSRS Application Pool アカウントと SQL Server ログインのどちらを使用するかを指定します。 次のいずれかを指定できます。 0 Windows 認証 1 SQL Server 2 アプリケーション プール アカウント (既定) |
Remove-SPRSServiceApplication | 指定した Reporting Services サービス アプリケーションを削除します。 これを実行すると、関連付けられたデータベースも削除されます。 |
Set-SPRSServiceApplication | 既存の Reporting Services サービス アプリケーションのプロパティを編集します。 |
New-SPRSServiceApplicationProxy | 新しい Reporting Services サービス アプリケーション プロキシを作成します。 |
Get-SPRSServiceApplicationProxy | 1 つ以上の 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 | 1 つ以上の Reporting Services サービス アプリケーション データベースを取得します。 Set-SPRSDatabase コマンドレットを使用して querytimeout などのプロパティを変更できるように、コマンドを使用してサービス アプリケーション データベースの ID を取得します。 データベース タイムアウト など、Reporting Servicea アプリケーション データベースのプロパティを取得して設定する方法については、このトピックの例を参照してください。 |
Get-SPRSDatabaseRightsScript | Reporting Services サービス アプリケーション用に、データベース権限スクリプトを画面に出力します。 これを実行すると、対象のユーザーとデータベースの入力を求めるプロンプトが表示され、権限を変更するための Transact-SQL が返されます。 その後、SQL Server Management Studio でこのスクリプトを実行できます。 |
Get-SPRSDatabaseUpgradeScript | データベース アップグレード スクリプトを画面に出力します。 このスクリプトは、Reporting Services サービス アプリケーション データベースを、現在の Reporting Services インストールのデータベース バージョンにアップグレードします。 |
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 サービス アプリケーションの 1 つ以上の Reporting Services 拡張機能を取得します。 有効な値は次のとおりです。 配信 DeliveryUI レンダリング データ Security 認証 EventProcessing ReportItems Designer ReportItemDesigner ReportItemConverter ReportDefinitionCustomization |
Get-SPRSSite | "ReportingService" 機能が有効になっているかどうかに基づいて SharePoint サイトを取得します。 既定では、"ReportingService" 機能が有効になっているサイトが返されます。 |
基本的なサンプル
名前に 'SPRS' を含んでいるコマンドレットの一覧を返します。 これは Reporting Services コマンドレットの完全な一覧になります。
Get-command -noun *SPRS*
または、より詳細な情報を使用して、commandlist.txt という名前のテキスト ファイルにパイプします。
Get-Command -Noun *SPRS* | Select name, definition | Format-List | Out-File c:\commandlist.txt
Reporting Services 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"
詳細なサンプル
次のサンプルに加えて、「手順 1 - 4 に対応する Windows PowerShell スクリプト」の「Windows PowerShell スクリプト」を参照してください。
Reporting Services サービス アプリケーションとプロキシの作成
このサンプル スクリプトは次のタスクを完了します。
Reporting Services サービス アプリケーションとプロキシを作成する。 このスクリプトは、"My App Pool" というアプリケーション プールが既に存在することを前提としています。
作成したプロキシを既定のプロキシ グループに追加する。
ポート 80 の Web アプリケーションのコンテンツ データベースに、サービス アプリケーション アクセス権を付与する。 スクリプトはサイト "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)
Reporting Services 配信拡張機能の確認と更新
次の 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 " ssrs_testapp *"}
次のスクリプトは、"Reporting Services Application" という名前のサービス アプリケーションについて、レポート サーバーの電子メール配信拡張機能の現在の構成値を返します。 最初のステップでは、"My RS Service App" という名前のサービス アプリケーションのオブジェクトに、変数 $app の値が設定されます。
2 番目のステートメントは、変数 $app 内のサービス アプリケーション オブジェクト用の "レポート サーバー電子メール" 配信拡張機能を取得し、configurationXML を選択します。
$app = Get-SPRSServiceapplication -Name "Reporting Services Application"
Get-SPRSExtension -Identity $app -ExtensionType "Delivery" -Name "Report Server Email" | Select -ExpandProperty ConfigurationXml
上の 2 つのステートメントを次のように書き直して 1 つのステートメントにすることもできます。
Get-SPRSServiceApplication -Name "Reporting Services Application" | Get-SPRSExtension -ExtensionType "Delivery" -Name "Report Server Email" | Select -ExpandProperty ConfigurationXml
Reporting Services アプリケーション データベースのプロパティ (データベース タイムアウトなど) の取得と設定
次の例では、set コマンドに指定するデータベースの GUID (ID) を確認できるように、最初にデータベースとプロパティの一覧を返します。 プロパティの一覧については、「 Get-SPRSDatabase | format-list
」を参照してください。
Get-SPRSDatabase | Select id, querytimeout,connectiontimeout, status, server, ServiceInstance
出力の例を次に示します。 変更するデータベースの ID を確認し、SET コマンドレットでその ID を使用します。
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
レポート サービスのデータ拡張機能を一覧表示する - 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変更および一覧表示する」と「サブスクリプションを実行する」を参照してください。
参照
Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription
チェックリスト: PowerShell を使用して PowerPivot for SharePoint を確認する
CodePlex SharePoint 管理 PowerShell スクリプト