Windows PowerShellと PowerShell Core 用の Microsoft Power BI コマンドレット
Microsoft Power BI の PowerShell リファレンスへようこそ。 ここでは、Power BI を対象とする PowerShell モジュールのリソースを見つけることができます。
PowerShell モジュール
このリファレンスで取り上げる Power BI PowerShell モジュールの表を次に示します。
説明 | モジュール名 | PowerShell ギャラリーリンク |
---|---|---|
Power BI コマンドレットのロールアップ モジュール | MicrosoftPowerBIMgmt | |
Power BI コマンドレットの管理 モジュール | MicrosoftPowerBIMgmt.Admin | |
Power BI コマンドレットの容量モジュール | MicrosoftPowerBIMgmt.Capacities | |
Power BI コマンドレットのデータ モジュール | MicrosoftPowerBIMgmt.Data | |
Power BI コマンドレットのプロファイル モジュール | MicrosoftPowerBIMgmt.Profile | |
Power BI のレポート モジュール | MicrosoftPowerBIMgmt.Reports | |
Power BI 用ワークスペース モジュール | 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 サポート サイトにフィードバックを送信してください。