適用于 Windows PowerShell 和 PowerShell Core 的 Microsoft Power BI Cmdlet
歡迎使用 Microsoft Power BI 的 PowerShell 參考。 您可以在這裡找到以 Power BI 為目標的 PowerShell 模組資源。
PowerShell 模組
以下是本參考中涵蓋的 Power BI PowerShell 模組表格。
說明 | 模組名稱 | PowerShell 資源庫連結 |
---|---|---|
Power BI Cmdlet 的匯總模組 | MicrosoftPowerBIMgmt | |
適用于 Power BI Cmdlet 的管理員模組 | MicrosoftPowerBIMgmt.Admin | |
Power BI Cmdlet 的容量模組 | MicrosoftPowerBIMgmt.Capacities | |
Power BI Cmdlet 的資料模組 | MicrosoftPowerBIMgmt.Data | |
Power BI Cmdlet 的設定檔模組 | MicrosoftPowerBIMgmt.Profile | |
Power BI 的報表模組 | MicrosoftPowerBIMgmt.Reports | |
Power BI 的工作區模組 | 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 支援網站。