適用于 Windows PowerShell 和 PowerShell Core 的 Microsoft Power BI Cmdlet

歡迎使用 Microsoft Power BI 的 PowerShell 參考。 您可以在這裡找到以 Power BI 為目標的 PowerShell 模組資源。

PowerShell 模組

以下是本參考中涵蓋的 Power BI PowerShell 模組表格。

說明 模組名稱 PowerShell 資源庫連結
Power BI Cmdlet 的匯總模組 MicrosoftPowerBIMgmt MicrosoftPowerBIMgmt
適用于 Power BI Cmdlet 的管理員模組 MicrosoftPowerBIMgmt.Admin MicrosoftPowerBIMgmt。管理員
Power BI Cmdlet 的容量模組 MicrosoftPowerBIMgmt.Capacities MicrosoftPowerBIMgmt.Capacities
Power BI Cmdlet 的資料模組 MicrosoftPowerBIMgmt.Data MicrosoftPowerBIMgmt.Data
Power BI Cmdlet 的設定檔模組 MicrosoftPowerBIMgmt.Profile MicrosoftPowerBIMgmt.Profile
Power BI 的報表模組 MicrosoftPowerBIMgmt.Reports MicrosoftPowerBIMgmt.Reports
Power BI 的工作區模組 MicrosoftPowerBIMgmt.Workspaces MicrosoftPowerBIMgmt.Workspaces

支援的環境和 PowerShell 版本

  • Windows PowerShell v3.0 和更新版本與 .NET 4.7.1 或更新版本。
  • PowerShell Core (v6) PowerShell Core 所支援的任何作業系統平臺上和更新版本。

安裝

Cmdlet 可在 PowerShell 資源庫 上使用,並可安裝在提升許可權的 PowerShell 會話中:

Install-Module -Name MicrosoftPowerBIMgmt

您可以選擇性地根據需求來安裝個別模組 () ,而不是匯總模組,例如,如果您只想要 Workspaces 模組:

Install-Module -Name MicrosoftPowerBIMgmt.Workspaces

如果您有舊版,您可以執行下列命令來更新為最新版本:

Update-Module -Name MicrosoftPowerBIMgmt

解除安裝

如果您想要卸載所有 Power BI PowerShell Cmdlet,請在提升許可權的 PowerShell 會話中執行下列命令:

Get-Module MicrosoftPowerBIMgmt* -ListAvailable | Uninstall-Module -Force

使用方式

與 Power BI 實體互動的 Cmdlet 支援兩個範圍:

  • 個人可用來存取屬於目前使用者的實體。
  • 組織用來存取整個公司的實體。 只允許使用 Power BI 租使用者系統管理員。

如果 Cmdlet 上沒有 -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

如果工作區存在於 [我的工作區] 外部,請使用 WorkspaceId-Workspace 參數匯出:

Export-PowerBIReport -Id b48c088c-6f4e-4b7a-b015-d844ab534b2a -OutFile .\exportedReport.pbix -WorkspaceId 3bdd9735-0ab5-4f21-bd5d-87e7f1d7fb84

取得資料集

取得 Power BI 資料集:

Get-PowerBIDataset

更新資料集儲存模式

將 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

對於缺少對應 Cmdlet的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

疑難排解錯誤

若要取得從 Cmdlet 傳回之錯誤的詳細資訊,請使用:

Resolve-PowerBIError -Last

此資訊對於開啟 Power BI 的支援票證很有用。

問題和意見反應

如果您發現任何錯誤,或想要查看針對 Power BI 的 PowerShell Cmdlet 所實作的特定功能,請 提出問題

如果您的問題範圍不只是 PowerShell Cmdlet,請將您的意見反應提交至Power BI 社群或官方Power BI 支援網站。