次の方法で共有


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 管理シェルを開いてコマンドレットを実行するには

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

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

  3. [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 サービス アプリケーションとプロキシの作成

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

  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)

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 スクリプト