Microsoft Power BI の PowerShell リファレンスへようこそ。 ここでは、Power BI を対象とする PowerShell モジュールのリソースを見つけることができます。
PowerShell モジュール
このリファレンスで取り上げられている Power BI PowerShell モジュールの表を次に示します。
| 説明 | モジュール名 | PowerShell ギャラリーのリンク |
|---|---|---|
| Power BI コマンドレットのロールアップ モジュール | NA |
|
| Power BI コマンドレットの管理モジュール | MicrosoftPowerBIMgmt.Admin Module |
|
| Power BI コマンドレットの容量モジュール | MicrosoftPowerBIMgmt.Capacities Module |
|
| Power BI コマンドレットのデータ モジュール | MicrosoftPowerBIMgmt.Data Module |
|
| Power BI コマンドレットのプロファイル モジュール | MicrosoftPowerBIMgmt.Profile Module |
|
| Power BI のレポート モジュール | MicrosoftPowerBIMgmt.Reports Module |
|
| Power BI のワークスペース モジュール | MicrosoftPowerBIMgmt.Workspaces Module |
|
サポートされている環境と PowerShell のバージョン
- Windows PowerShell v3.0 以降と .NET 4.7.1 以降。
- PowerShell Core (v6) 以降は、PowerShell Core でサポートされている任意の OS プラットフォーム上にあります。
取り付け
コマンドレットは PowerShell ギャラリーで入手でき、管理者特権の PowerShell セッションにインストールできます。
Install-Module -Name MicrosoftPowerBIMgmt
必要に応じて、ロールアップモジュールの代わりに個々のモジュールを(必要に応じて)インストールできます。たとえば、Workspacesモジュールのみが必要な場合などです。
Install-Module -Name MicrosoftPowerBIMgmt.Workspaces
以前のバージョンを使用している場合は、次のコマンドを実行して最新バージョンに更新できます。
Update-Module -Name MicrosoftPowerBIMgmt
[アンインストール]
すべての Power BI PowerShell コマンドレットをアンインストールする場合は、管理者特権の PowerShell セッションで次のコマンドを実行します。
Get-Module MicrosoftPowerBIMgmt* -ListAvailable | Uninstall-Module -Force
使用方法
Power BI エンティティと対話するコマンドレットでは、次の 2 つのスコープがサポートされています。
- Individual は、現在のユーザーに属するエンティティにアクセスするために使用されます。
- 組織は、会社全体のエンティティにアクセスするために使用されます。 Power BI テナント管理者のみが使用できます。
-Scope パラメーターがコマンドレットに存在しない場合、エンティティは管理 API をサポートしていません。
Power BI にログインします
Connect-PowerBIServiceAccount # or use aliases: Login-PowerBIServiceAccount, Login-PowerBI
ワークスペースを取得する
ユーザーのワークスペースを取得します。 デフォルトでは(つまり、 -First パラメータなし)、ユーザーに割り当てられた最初の100個のワークスペースが表示されます。
Get-PowerBIWorkspace
-All パラメーターを使用して、ユーザーに割り当てられているすべてのワークスペースを表示します。
Get-PowerBIWorkspace -All
テナント管理者の場合は、 -Scope Organizationを追加することで、テナント内のすべてのワークスペースを表示できます。
Get-PowerBIWorkspace -Scope Organization -All
ワークスペースの更新
ユーザーのワークスペースの名前または説明を更新します。
Set-PowerBIWorkspace -Scope Organization -Id "3244f1c1-01cf-457f-9383-6035e4950fdc" -Name "Test Name" -Description "Test Description"
ワークスペースに新しいユーザーを追加する
特定のワークスペースにユーザーを追加します。
Add-PowerBIWorkspaceUser -Scope Organization -Id 3244f1c1-01cf-457f-9383-6035e4950fdc -UserEmailAddress john@contoso.com -AccessRight Admin
特定のワークスペースからユーザーを削除する
特定のワークスペースからユーザーのアクセス許可を削除します。
Remove-PowerBIWorkspaceUser -Scope Organization -Id 3244f1c1-01cf-457f-9383-6035e4950fdc -UserEmailAddress john@contoso.com
ワークスペースの移行状態を取得する
Power BI ワークスペースの移行状態を取得します。
Get-PowerBIWorkspaceMigrationStatus -Id 038f9a64-1fcd-42f2-957a-13a63b3d3235
ワークスペースを復元する
削除されたワークスペースをテナント管理者として表示するには:
Get-PowerBIWorkspace -Scope Organization -Deleted -All
削除したワークスペースを復元します。
Restore-PowerBIWorkspace -Id "3244f1c1-01cf-457f-9383-6035e4950fdc" -RestoredName "TestWorkspace" -AdminEmailAddress "john@contoso.com"
孤立したワークスペースを回復する
ワークスペースは、管理者が割り当てられていない場合に孤立します。 テナント管理者の場合は、次を実行して、孤立したすべてのワークスペースを表示します。
Get-PowerBIWorkspace -Scope Organization -Orphaned -All
この問題を修正するには、次を使用します。
Add-PowerBIWorkspaceUser -Scope Organization -Id f2a0fae5-1c37-4ee6-97da-c9d31851fe17 -UserPrincipalName 'john@contoso.com' -AccessRight Admin
レポートの取得
ユーザーのすべてのレポートを取得します。
Get-PowerBIReport
テナント管理者の場合は、割り当て -Scope Organizationを使用して、テナント内のすべてのレポートを表示できます。
Get-PowerBIReport -Scope Organization
ダッシュボードを取得する
ユーザーのダッシュボードを取得します。
Get-PowerBIDashboard
テナント管理者の場合は、次のダッシュボードを追加することで、テナント内のすべてのダッシュボードを表示できます-Scope Organization
Get-PowerBIDashboard -Scope Organization
タイルを取得する
ダッシュボード内のタイルを取得します。
Get-PowerBITile -DashboardId 9a58d5e5-61bc-447c-86c4-e221128b1c99
インポートを取得する
Power BI のインポートを取得します。
Get-PowerBIImport
レポートを作成する
Power BI でレポートを作成するには、*.pbix ファイルをアップロードします。
New-PowerBIReport -Path .\newReport.pbix -Name 'New Report'
デフォルトでは、レポートはユーザーのマイワークスペースに配置されます。 別のワークスペースに配置するには、 -WorkspaceId または -Workspace パラメーターを使用します。
New-PowerBIReport -Path .\newReport.pbix -Name 'New Report' -WorkspaceId f95755a1-950c-46bd-a912-5aab4012a06d
レポートをエクスポートする
Power BI レポートを *.pbix ファイルにエクスポートします。
Export-PowerBIReport -Id b48c088c-6f4e-4b7a-b015-d844ab534b2a -OutFile .\exportedReport.pbix
ワークスペースが My Workspace の外部にある場合は、 WorkspaceId または -Workspace パラメーターを使用してエクスポートします。
Export-PowerBIReport -Id b48c088c-6f4e-4b7a-b015-d844ab534b2a -OutFile .\exportedReport.pbix -WorkspaceId 3bdd9735-0ab5-4f21-bd5d-87e7f1d7fb84
データセットを取得する
Power BI データセットを取得します。
Get-PowerBIDataset
データセットのストレージ モードを更新する
ストレージ モードに Premium Files を使用するように Power BI データセットを設定します。
Set-PowerBIDataset -Id 038f9a64-1fcd-42f2-957a-13a63b3d3235 -TargetStorageMode PremiumFiles
データソースを取得する
データセットの Power BI データソースを取得します。
Get-PowerBIDatasource -DatasetId 65d7d7e5-8af0-4e94-b20b-50a882ae15e1
テーブルを取得する
データセットに含まれる Power BI テーブルを取得します。
Get-PowerBITable -DatasetId 65d7d7e5-8af0-4e94-b20b-50a882ae15e1
Power BI REST API を呼び出す
対応するコマンドレットがない Power BI API の場合は、 Connect-PowerBIServiceAccount から認証されたセッションを再利用して、カスタム REST 要求を行うことができます。
Invoke-PowerBIRestMethod -Url 'reports/4eb4c303-d5ac-4a2d-bf1e-39b35075d983/Clone' -Method Post -Body ([pscustomobject]@{name='Cloned report'; targetModelId='adf823b5-a0de-4b9f-bcce-b17d774d2961'; targetWorkspaceId='45ee15a7-0e8e-45b0-8111-ea304ada8d7d'} | ConvertTo-Json -Depth 2 -Compress)
PowerShell の外部で認証されたセッションを使用する場合は、次を使用してアクセス トークンを取得します。
Get-PowerBIAccessToken -AsString
エラー対処
コマンドレットから返されたエラーの詳細については、次を使用します。
Resolve-PowerBIError -Last
この情報は、Power BI のサポート チケットを開くのに役立ちます。
問題とフィードバック
バグを見つけた場合、または Power BI の PowerShell コマンドレットに実装された特定の機能を確認したい場合は、 問題を報告してください。
問題が PowerShell コマンドレットだけにとどまらない場合は、 Power BI コミュニティ または公式 の Power BI サポート サイトにフィードバックを送信してください。