Power BI チームより、管理者および開発者の方が使える PowerShell モジュールが公開されました。本記事では GitHub にある README を中心に紹介します。
GitHub: PowerBI PowerShell
Microsoft Power BI Cmdlets for Windows PowerShell and PowerShell Core
PowerShell/PowerShell Core 用 Microsoft Power BI コマンドレット
これはコミュニティベースのモジュールであり、オープンソースです。
PowerShell モジュール
Power BI 用のモジュールは機能ごとに分かれていますが、基本 MicrosoftPowerBIMgmt を入れることで全てが利用できます。
説明 | モジュール名 | PowerShell Gallery リンク |
---|---|---|
全てを含むメインモジュール | MicrosoftPowerBIMgmt |
|
ユーザープロファイル関連のモジュール | MicrosoftPowerBIMgmt.Profile |
|
ワークスペース関連のモジュール | MicrosoftPowerBIMgmt.Workspaces |
|
レポートやダッシュボード関連のモジュール | MicrosoftPowerBIMgmt.Reports |
[] (https://www.powershellgallery.com/packages/MicrosoftPowerBIMgmt.Reports/) |
データセットや行操作関連のモジュール | MicrosoftPowerBIMgmt.Data |
サポートされる環境と PowerShell のバージョン
- Windows PowerShell v3.0 以上および .NET 4.6.1 以上
- [予定] PowerShell Core (v6) およびクロスプラットフォームサポート
インストール
管理者として実行している PowerShell で以下コマンドを実行します。
Install-Module -Name MicrosoftPowerBIMgmt
個別のモジュールだけをインストールすることも可能です。
Install-Module -Name MicrosoftPowerBIMgmt.Workspaces
既にインストール済みの場合、以下コマンドで更新が行えます。
Update-Module -Name MicrosoftPowerBIMgmt
アンインストール
管理者として実行している PowerShell で以下のコマンドを実行します。
Get-Module MicrosoftPowerBIMgmt* -ListAvailable | Uninstall-Module -Force
使い方
多くのコマンドレットでは以下の 2 つのスコープがサポートされています。
Individual : ログインしているユーザーに属するオブジェクトが取得できます。
Organization : 組織全体のオブジェクトが取得できます。Power BI のテナントアドミンだけが実行できるコマンドです。
Power BI に接続 (ログイン)
Connect-PowerBIServiceAccount # or Login-PowerBIServiceAccount
ワークスペースの取得
Get-PowerBIWorkspace
ワークスペースの名前や説明を更新
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
削除したワークスペースの復元
Restore-PowerBIWorkspace -Id "3244f1c1-01cf-457f-9383-6035e4950fdc" -RestoredName "TestWorkspace" -AdminEmailAddress "john@contoso.com"
レポートの取得
Get-PowerBIReport
データセットの取得
Get-PowerBIDataset
テーブルとデータセットの追加
$col1 = New-PowerBIColumn -Name ID -DataType Int64
$col2 = New-PowerBIColumn -Name Data -DataType String
$table1 = New-PowerBITable -Name SampleTable1 -Columns $col1,$col2
$col3 = New-PowerBIColumn -Name ID -DataType Int64
$col4 = New-PowerBIColumn -Name Date -DataType DateTime
$col5 = New-PowerBIColumn -Name Detail -DataType String
$col6 = New-PowerBIColumn -Name Result -DataType Double
$table2 = New-PowerBITable -Name SampleTable2 -Columns $col3,$col4,$col5,$col6
$dataset = New-PowerBIDataSet -Name SampleDataSet -Tables $table1,$table2
Add-PowerBIDataSet -DataSet $dataset
テーブルにデータを追加
Add-PowerBIRow -DataSetId 4b644350-f745-48dd-821c-f008350199a8 -TableName SampleTable1 -Rows @{"ID"=1;"Data"="Value1"},@{"ID"=2;"Data"="Value2"}
テーブルにデータを CSV から追加
Add-PowerBIRow -DataSetId 4b644350-f745-48dd-821c-f008350199a8 -TableName SampleTable1 -Rows (Import-Csv -Path ".\data.csv")
テーブルのデータを削除
Remove-PowerBIRow -DataSetId 4b644350-f745-48dd-821c-f008350199a8 -TableName SampleTable1
その他のコマンド
他にも多くのコマンドがあります。以下コマンドで情報を取得してください。
Get-Command -Module MicrosoftPowerBIMgmt*
Get-Help <Cmdlet> -Detailed
問題の報告とフィードバック
不具合を見つけたり、特定の機能の要求などは、issues に登録してください。
もしフィードバックが PowerShell に限定されない場合は、Power BI コミュニティ か Power BI サポート まで連絡してください。
今度の予定は ROADMAP.md にあります。
セキュリティの問題
セキュリティの問題や不具合は、個別に Microsoft Security Response Center (MSRC): secure@microsoft.com までご連絡ください。
返信は 24 時間以内に行われます。
コントリビュート
このプロジェクトはオープンであり、コントリビュートを歓迎します。コントリビューターは Contributor License Agreement (CLA) 同意いただく必要があります。詳細は https://cla.microsoft.com をご覧ください。
プルリクエストを作成した際、CLA ボットが自動的に CLA に同意しているか確認します。インストラクションに沿って同意をお願いします。
より詳細は CONTRIBUTING を参照してください。