Windows PowerShellと PowerShell Core 用の Microsoft Power BI コマンドレット

Microsoft Power BI の PowerShell リファレンスへようこそ。 ここでは、Power BI を対象とする PowerShell モジュールのリソースを見つけることができます。

PowerShell モジュール

このリファレンスで取り上げる Power BI PowerShell モジュールの表を次に示します。

説明 モジュール名 PowerShell ギャラリーリンク
Power BI コマンドレットのロールアップ モジュール MicrosoftPowerBIMgmt MicrosoftPowerBIMgmt
Power BI コマンドレットの管理 モジュール MicrosoftPowerBIMgmt.Admin MicrosoftPowerBIMgmt。管理
Power BI コマンドレットの容量モジュール MicrosoftPowerBIMgmt.Capacities MicrosoftPowerBIMgmt.容量
Power BI コマンドレットのデータ モジュール MicrosoftPowerBIMgmt.Data MicrosoftPowerBIMgmt.Data
Power BI コマンドレットのプロファイル モジュール MicrosoftPowerBIMgmt.Profile MicrosoftPowerBIMgmt.Profile
Power BI のレポート モジュール MicrosoftPowerBIMgmt.Reports MicrosoftPowerBIMgmt.Reports
Power BI 用ワークスペース モジュール MicrosoftPowerBIMgmt.Workspaces MicrosoftPowerBIMgmt.Workspaces

サポートされている環境と PowerShell のバージョン

  • v3.0 以降を .NET 4.7.1 以降でWindows PowerShellします。
  • 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 つのスコープがサポートされています。

  • 個人は、現在のユーザーに属するエンティティにアクセスするために使用されます。
  • 組織全体のエンティティにアクセスするために組織が使用されます。 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

レポートを作成する

*.pbix ファイルをアップロードして、Power BI でレポートを作成します。

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

ワークスペースがマイ ワークスペースの外部に存在する場合は、or -Workspace パラメーターを使用してWorkspaceIdエクスポートします。

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 サポート サイトにフィードバックを送信してください。