Cmdlet di Microsoft Power BI per Windows PowerShell e PowerShell Core

Importante

Per migliorare la sicurezza dell'autenticazione, stiamo aggiornando la configurazione di accesso utilizzata dal modulo PowerShell Microsoft Power BI. Di conseguenza, le versioni più vecchie del modulo non potranno più autenticarsi e le sessioni di accesso esistenti potrebbero smettere di funzionare. Per prevenire qualsiasi interruzione del servizio, aggiorna alla MicrosoftPowerBIMgmt versione 1.3.84 o superiore e riautentica utilizzando Connect-PowerBIServiceAccount

Benvenuti nella guida di riferimento a PowerShell per Microsoft Power BI. Qui sono disponibili le risorse per i moduli di PowerShell destinati a Power BI.

Moduli di PowerShell

Di seguito è riportata una tabella dei moduli PowerShell di Power BI trattati in questo riferimento.

Descrizione Nome del modulo Collegamento a PowerShell Gallery
Modulo di rollup per i cmdlet di Power BI NA MicrosoftPowerBIMgmt1.2.1111
Modulo di amministrazione per i cmdlet di Power BI MicrosoftPowerBIMgmt.Admin Module MicrosoftPowerBIMgmt.Admin
Modulo Capacità per i cmdlet di Power BI MicrosoftPowerBIMgmt.Capacities Module MicrosoftPowerBIMgmt.Capacities
Modulo dati per i cmdlet di Power BI MicrosoftPowerBIMgmt.Data Module MicrosoftPowerBIMgmt.Data
Modulo di profilo per i cmdlet di Power BI MicrosoftPowerBIMgmt.Profile Module Profilo MicrosoftPowerBIMgmt.Profile
Modulo report per Power BI MicrosoftPowerBIMgmt.Reports Module MicrosoftPowerBIMgmt.Reports
Modulo Aree di lavoro per Power BI MicrosoftPowerBIMgmt.Workspaces Module MicrosoftPowerBIMgmt.Workspaces

Ambienti supportati e versioni di PowerShell

  • Windows PowerShell v3.0 e versioni successive con .NET 4.7.1 o versioni successive.
  • PowerShell Core (v6) e versioni successive su qualsiasi piattaforma del sistema operativo supportata da PowerShell Core.

Installazione

I cmdlet sono disponibili in PowerShell Gallery e possono essere installati in una sessione di PowerShell con privilegi elevati:

Install-Module -Name MicrosoftPowerBIMgmt

Opzionalmente è possibile installare singoli moduli (in base alle proprie esigenze) al posto del modulo di rollup, ad esempio se si desidera solo il modulo Aree di lavoro:

Install-Module -Name MicrosoftPowerBIMgmt.Workspaces

Se si dispone di una versione precedente, è possibile eseguire l'aggiornamento alla versione più recente eseguendo:

Update-Module -Name MicrosoftPowerBIMgmt

Disinstallare

Se si desidera disinstallare tutti i cmdlet di PowerShell di Power BI, eseguire quanto segue in una sessione di PowerShell con privilegi elevati:

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

Uso

Due ambiti sono supportati dai cmdlet che interagiscono con le entità di Power BI:

  • Individual viene utilizzato per accedere alle entità che appartengono all'utente corrente.
  • L'organizzazione viene utilizzata per accedere alle entità dell'intera azienda. Solo gli amministratori tenant di Power BI possono usarlo.

Se il parametro -Scope non esiste nel cmdlet, l'entità non supporta un'API amministrativa.

Accedere a Power BI

Connect-PowerBIServiceAccount   # or use aliases: Login-PowerBIServiceAccount, Login-PowerBI

Ottenere aree di lavoro

Ottenere aree di lavoro per l'utente. Per impostazione predefinita (cioè senza -First parametro) mostra le prime 100 aree di lavoro assegnate all'utente:

Get-PowerBIWorkspace

Utilizzare il -All parametro per visualizzare tutte le aree di lavoro assegnate all'utente:

Get-PowerBIWorkspace -All

Se si è un amministratore tenant, è possibile visualizzare tutte le aree di lavoro nel tenant aggiungendo -Scope Organization:

Get-PowerBIWorkspace -Scope Organization -All

Aggiornare un’area di lavoro

Aggiornare il nome o la descrizione dell'area di lavoro di un utente:

Set-PowerBIWorkspace -Scope Organization -Id "3244f1c1-01cf-457f-9383-6035e4950fdc" -Name "Test Name" -Description "Test Description"

Aggiungere un nuovo utente a un'area di lavoro

Aggiungere un utente a una determinata area di lavoro:

Add-PowerBIWorkspaceUser -Scope Organization -Id 3244f1c1-01cf-457f-9383-6035e4950fdc -UserEmailAddress john@contoso.com -AccessRight Admin

Rimuovere un utente da una determinata area di lavoro

Rimuovere le autorizzazioni dell'utente da una determinata area di lavoro:

Remove-PowerBIWorkspaceUser -Scope Organization -Id 3244f1c1-01cf-457f-9383-6035e4950fdc -UserEmailAddress john@contoso.com

Ottenere lo stato della migrazione dell'area di lavoro

Ottenere lo stato della migrazione dell'area di lavoro di Power BI:

Get-PowerBIWorkspaceMigrationStatus -Id 038f9a64-1fcd-42f2-957a-13a63b3d3235

Ripristinare un'area di lavoro

Per visualizzare le aree di lavoro eliminate come amministratore tenant:

Get-PowerBIWorkspace -Scope Organization -Deleted -All

Ripristinare un'area di lavoro eliminata:

Restore-PowerBIWorkspace -Id "3244f1c1-01cf-457f-9383-6035e4950fdc" -RestoredName "TestWorkspace" -AdminEmailAddress "john@contoso.com"

Ripristinare un'area di lavoro orfana

Un'area di lavoro diventa orfana quando non dispone di amministratori assegnati. Se si è un amministratore tenant, eseguire quanto segue per visualizzare tutte le aree di lavoro orfane:

Get-PowerBIWorkspace -Scope Organization -Orphaned -All

Per risolvere questo problema, utilizzare:

Add-PowerBIWorkspaceUser -Scope Organization -Id f2a0fae5-1c37-4ee6-97da-c9d31851fe17 -UserPrincipalName 'john@contoso.com' -AccessRight Admin

Visualizzazione di report

Ricevi tutti i report per l'utente:

Get-PowerBIReport

Se si è un amministratore tenant, è possibile visualizzare tutti i report nel tenant utilizzando l'assegnazione -Scope Organization:

Get-PowerBIReport -Scope Organization

Scarica le dashboard

Ottenere dashboard per l'utente:

Get-PowerBIDashboard

Se si è un amministratore tenant, è possibile visualizzare tutti i dashboard del tenant aggiungendo -Scope Organization:

Get-PowerBIDashboard -Scope Organization

Ottenere riquadri

Ottenere riquadri all'interno di un dashboard:

Get-PowerBITile -DashboardId 9a58d5e5-61bc-447c-86c4-e221128b1c99

Ottenere importazioni

Ottenere le importazioni di Power BI:

Get-PowerBIImport

Creazione di un report

Creare un report in Power BI caricando un file *.pbix:

New-PowerBIReport -Path .\newReport.pbix -Name 'New Report'

Per impostazione predefinita, il report viene inserito nell'area di lavoro personale dell'utente. Per posizionarlo in un'area di lavoro diversa, utilizzare i -WorkspaceId parametri o -Workspace :

New-PowerBIReport -Path .\newReport.pbix -Name 'New Report' -WorkspaceId f95755a1-950c-46bd-a912-5aab4012a06d

Esportare un report

Esportare un report di Power BI in un file *.pbix:

Export-PowerBIReport -Id b48c088c-6f4e-4b7a-b015-d844ab534b2a -OutFile .\exportedReport.pbix

Se l'area di lavoro esiste all'esterno dell'area di lavoro personale, esportare con il WorkspaceId parametro or -Workspace :

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

Ottenere set di dati

Ottenere i set di dati di Power BI:

Get-PowerBIDataset

Aggiorna la modalità di archiviazione del set di dati

Impostare il set di dati di Power BI per l'uso di file Premium per la modalità di archiviazione:

Set-PowerBIDataset -Id 038f9a64-1fcd-42f2-957a-13a63b3d3235 -TargetStorageMode PremiumFiles

Ottenere le origini dati

Ottenere le origini dati di Power BI per un set di dati:

Get-PowerBIDatasource -DatasetId 65d7d7e5-8af0-4e94-b20b-50a882ae15e1

Ottieni tabelle

Ottenere le tabelle di Power BI contenute in un set di dati:

Get-PowerBITable -DatasetId 65d7d7e5-8af0-4e94-b20b-50a882ae15e1

Chiamare l'API REST di Power BI

Per l'API di Power BI che non dispone di cmdlet corrispondenti, è possibile riutilizzare la sessione autenticata da Connect-PowerBIServiceAccount per effettuare richieste REST personalizzate:

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)

Se si vuole usare la sessione autenticata all'esterno di PowerShell, ottenere il token di accesso usando:

Get-PowerBIAccessToken -AsString

Risoluzione degli errori

Per ottenere altre informazioni su un errore restituito dai cmdlet, usare:

Resolve-PowerBIError -Last

Queste informazioni possono essere utili per l'apertura di ticket di supporto per Power BI.

Problemi e commenti

Se si riscontrano bug o si desidera visualizzare l'implementazione di determinate funzionalità per i cmdlet di PowerShell per Power BI, segnalare un problema.

Se il problema è più ampio dei semplici cmdlet di PowerShell, inviare commenti e suggerimenti alla community di Power BI o al sito ufficiale del supporto di Power BI .