Help us understand the problem. What is going on with this article?

Power BI 用 PowerShell モジュール

More than 1 year has passed since last update.

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
ユーザープロファイル関連のモジュール MicrosoftPowerBIMgmt.Profile MicrosoftPowerBIMgmt.Profile
ワークスペース関連のモジュール MicrosoftPowerBIMgmt.Workspaces MicrosoftPowerBIMgmt.Workspaces
レポートやダッシュボード関連のモジュール MicrosoftPowerBIMgmt.Reports MicrosoftPowerBIMgmt.Reports
データセットや行操作関連のモジュール MicrosoftPowerBIMgmt.Data 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 を参照してください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした