Automatizando o Power BI com PowerShell

No curso Power BI Serviço Implantação 2.0 do Paulo Sawaya, ele ensina como usar o powershell integrado ao Power BI Service, trabalhando com essas duas ferramentas é possível, por exemplo, adicionar vários usuários de forma mais rápida em um workspace, atualizar datasets automaticamente e publicar relatórios PBIX com apenas um comando.
Pré-requisitos para começar
Antes de usar o PowerShell com o Power BI, você precisa configurar alguns itens:
Instalar o módulo Power BI
Abra o PowerShell como administrador e execute:
Install-Module -Name MicrosoftPowerBIMgmt
Autenticar no Power BI
Login-PowerBI
Permissões no workspace
Você precisa ser administrador do workspace ou ter permissões apropriadas para executar ações via PowerShell
Como criar workspaces e adicionar usuários
Criar um novo workspace
$newWorkspace = New-PowerBIWorkspace -Name "Relatórios Financeiros"
Adicionar usuários a um workspace
# Definir variáveis
$workspaceName = "Relatórios Financeiros"
$emailUsuario = "usuario@empresa.com"
$acesso = "Admin" # Pode ser: Admin, Member, Contributor, Viewer
# Obter o workspace pelo nome
$workspace = Get-PowerBIWorkspace -Name $workspaceName
# Adicionar usuário
Add-PowerBIWorkspaceUser -Id $workspace.Id -UserPrincipalName $emailUsuario -AccessRight $acesso
Adicionar múltiplos usuários (via CSV)
Exemplo de Planilha Excel(csv):
Email,Acesso
joao@empresa.com,Admin
maria@empresa.com,Viewer
ana@empresa.com,Member
Script para importar e adicionar:
$workspace = Get-PowerBIWorkspace -Name "Relatórios Financeiros"
$usuarios = Import-Csv "C:\Caminho\usuarios.csv"
foreach ($usuario in $usuarios) {
Add-PowerBIWorkspaceUser -Id $workspace.Id `
-UserPrincipalName $usuario.Email `
-AccessRight $usuario.Acesso
}
Para remover usuários:
Remove-PowerBIWorkspaceUser -Id $workspace.Id -UserPrincipalName $email
Como automatizar a publicação de relatórios PBIX
Script para publicar o relatório:
# 1. Login no Power BI
Login-PowerBI
# 2. Definir variáveis
$workspaceName = "Seu Workspace"
$caminhoPBIX = "C:\Caminho\SeuRelatório.pbix"
$nomeRelatorio = "Seu Relatório"
# 3. Obter o workspace pelo nome
$workspace = Get-PowerBIWorkspace -Name $workspaceName
# 4. Publicar o relatório
New-PowerBIReport -Path $caminhoPBIX -Name $nomeRelatorio -WorkspaceId $workspace.Id -ConflictAction CreateOrOverwrite
-ConflictAction CreateOrOverwrite
é importante para substituir o relatório existente com o mesmo nome.Como automatizar a execução
Salve o script acima como .ps1
Exemplo: PublicarRelatorio.ps1
Agende com o Agendador de Tarefas do Windows
Abra o Agendador de Tarefas > Arquivo > Executar nova tarefa > Em "Ação" → "Iniciar um programa" → use:
programa: powershell
-ExecutionPolicy Bypass -File "C:\Caminho\PublicarRelatorio.ps1"
Dica bônus: publicar vários PBIX de uma só vez
$workspace = Get-PowerBIWorkspace -Name "Vendas"
$arquivos = Get-ChildItem "C:\Relatorios\" -Filter *.pbix
foreach ($arquivo in $arquivos) {
Publish-PowerBIReport -Path $arquivo.FullName -WorkspaceId $workspace.Id -ConflictAction CreateOrOverwrite
}
⋆。°✩ Outros comandos úteis
Listar relatórios:
# Buscar o ID do workspace
$workspace = Get-PowerBIWorkspace -Name $workspaceName
# Listar
Get-PowerBIReport -WorkspaceId $workspace.Id
Listar workspaces:
Get-PowerBIWorkspace
Listar datasets:
# Buscar o ID do workspace
$workspace = Get-PowerBIWorkspace -Name $workspaceName
# Listar
Get-PowerBIDataset -WorkspaceId $workspace.Id
Gerenciar permissões em relatórios/dashboards
É feito via API REST usando Invoke-PowerBIRestMethod
✩ Dica bônus: pesquisar comandos disponíveis ✩
Get-Command -Module MicrosoftPowerBIMgmt*
Além do uso do PowerShell, também existe a API REST do Power BI, que oferece ainda mais flexibilidade e controle para quem precisa integrar o Power BI com outros sistemas ou construir automações mais avançadas. Através dela, é possível acessar recursos que vão além dos cmdlets do PowerShell, como exportar relatórios para PDF, gerar tokens de incorporação e obter métricas detalhadas de uso. É uma abordagem mais técnica, ideal para times de desenvolvimento e projetos com alto nível de automação. Em breve, posso trazer um artigo completo explicando como utilizar a API REST do Power BI na prática.
Referência: Power BI Cmdlets reference | Microsoft Learn
Por Gabrielle Cristine ✧
Subscribe to my newsletter
Read articles from Gabrielle Cristine directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
