PowerShell コマンドレット (Reporting Services SharePoint モード)

SQL Server 2012 Reporting Services SharePoint モードをインストールすると、SharePoint モードのレポート サーバーをサポートするために PowerShell コマンドレットがインストールされます。 コマンドレットは 3 つのカテゴリの機能をサポートしています。

  • Reporting Services SharePoint 共有サービスおよびプロキシのインストール。

  • 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 Integrated Scripting Environment (ISE)) を使用することもできます。 詳細については、「Windows Server での Windows PowerShell の開始」(https://technet.microsoft.com/library/hh847814.aspx) を参照してください。 次のコマンドレット概要では、サービス アプリケーション "データベース" への参照は、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 管理シェルを開いてコマンドレットを実行するには

  1. [スタート] ボタンをクリックします。

  2. [Microsoft SharePoint 製品] グループをクリックします。

  3. [SharePoint 管理シェル] をクリックします。

コマンドレットのコマンド ライン ヘルプを表示するには、PowerShell のコマンド プロンプトで 'Get-Help' コマンドを使用します。 次にその例を示します。

Get-Help Get-SPRSServiceApplicationServers

[トップに戻る] リンクで使用される矢印アイコンTop

共有サービスとプロキシ コマンドレット

次の表に、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 ファーム内のすべてのサーバーを取得します。

[トップに戻る] リンクで使用される矢印アイコンTop

サービス アプリケーションとプロキシ コマンドレット

次の表には、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 サービス アプリケーション データベースを取得します。

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 サービス アプリケーション用の、1 つ以上の Reporting Services 拡張機能を取得します。

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"

[トップに戻る] リンクで使用される矢印アイコンTop

詳細なサンプル

次のサンプルに加えて、(Steps 1-4) Windows PowerShell script for Steps 1–4 トピックの「Windows PowerShell スクリプト」セクションを参照してください。

サービス アプリケーションとプロキシの作成

このサンプル スクリプトは次のタスクを完了します。

  1. Reporting Services サービス アプリケーションとプロキシを作成する。 このスクリプトは、"My App Pool" というアプリケーション プールが既に存在することを前提としています。

  2. 作成したプロキシを既定のプロキシ グループに追加する。

  3. ポート 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)

配信拡張機能の確認と更新

次の 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 " My RS Ser *"}

次のスクリプトは、"My RS Service App" という名前のサービス アプリケーションについて、レポート サーバーの電子メール配信拡張機能の現在の構成値を返します。 最初のステップでは、"My RS Service App" という名前のサービス アプリケーションのオブジェクトに、変数 $app の値が設定されます。

2 番目のステートメントは、変数 $app 内のサービス アプリケーション オブジェクト用の "レポート サーバー電子メール" 配信拡張機能を取得し、configurationXML を選択します。

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

[トップに戻る] リンクで使用される矢印アイコンTop

Reporting Service アプリケーション データベースのプロパティの取得と設定

次の例では、最初にデータベースとプロパティの一覧を返し、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

[トップに戻る] リンクで使用される矢印アイコン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 のヘルプの参照

その他の技術情報

CodePlex SharePoint 管理 PowerShell スクリプト

PowerShell を使用して SSRS を管理する方法