En esta ocasión vamos a ver espacios de trabajo en el servicio Power BI desde PowerShell utilizando la API Rest. Obtendremos un listado de todos nuestros espacios de trabajo y podremos descargarlos en formato CSV, especialmente útil cuando tienes muchos espacios de trabajo.
Especificaciones del entorno
- Windows 11
- PowerShell 7.3
- Módulos de Power BI para PowerShell
- Servicio de Power BI
Sintaxis
#Conexión al entorno Connect-PowerBIServiceAccount #Traer espacios de trabajo Get-PowerBIWorkspace <parametros> #Desconexión del entorno Disconnect-PowerBIServiceAccount
Parámetros
Parametro | Descripción |
---|---|
-All | Indica que se muestren todos los espacios de trabajo. -First y -Skip no pueden utilizarse con este parámetro. |
-Deleted | Indica que sólo se muestren los espacios de trabajo eliminados. Sólo se admite cuando se especifica -Scope Organization. |
-Filter | Filtro OData, distingue entre mayúsculas y minúsculas (los nombres de los elementos empiezan en minúsculas). |
-First | Primera lista (superior) de resultados. Este valor es 100 por defecto. |
-Id | ID del espacio de trabajo a devolver. |
-Include | Recupera artefactos relacionados asociados con el espacio de trabajo de Power BI. Solo disponible cuando -Scope es Organización. (Reports, Dashboards, Datasets, Dataflows, Workbooks, All) |
-Name | Nombre del espacio de trabajo a devolver si existe uno con ese nombre. Búsqueda sin distinción entre mayúsculas y minúsculas. |
-Orphaned | Indica que sólo se muestren los espacios de trabajo huérfanos. Sólo se admite cuando se especifica -Scope Organization. |
-Scope | Indica el alcance de la llamada. Individual devuelve sólo los espacios de trabajo asignados a la persona que llama; Organización devuelve todos los espacios de trabajo dentro de un inquilino (debe ser un administrador para iniciar). Individual es el valor por defecto. (Individual, Organization) |
-Skip | Omite la primera serie de resultados. |
-Type | Tipo del espacio de trabajo a devolver. Búsqueda sensible a mayúsculas y minúsculas. (Workspace, Group, PersonalGroup) |
-User | Filtra los espacios de trabajo para mostrar aquellos en los que se encuentra el usuario. Sólo disponible cuando -Scope es Organización. |
Ejemplos
Todos los ejemplos son ejecutados desde PowerShell
Ver todos los espacios de trabajo
Connect-PowerBIServiceAccount Get-PowerBIWorkspace -All Disconnect-PowerBIServiceAccount
Ver un espacio de trabajo en concreto
Connect-PowerBIServiceAccount Get-PowerBIWorkspace -Scope Organization -Filter "tolower(name) eq 'migueltroyano.com'" Disconnect-PowerBIServiceAccount
En el ejemplo anterior estamos trayendo la información del espacio de trabajo llamado MiguelTroyano.com y utilizamos tolower(name) para escribir el nombre en minúsculas y evitar problemas.
Ver un espacio de trabajo incluyendo el contenido
Connect-PowerBIServiceAccount Get-PowerBIWorkspace -Scope Organization -Include All Disconnect-PowerBIServiceAccount
Este comando junto con el parametro -Include All nos devuelve todos los espacios de trabajo de Power BI junto con los informes, cuadros de mando, conjuntos de datos, flujos de datos y libros de trabajo relacionados dentro de la organización del usuario.
Descargar información de espacios de trabajo
Ahora vamos a ver como podemos descargarnos esta información en un fichero csv. Vamos a utilizar el parámetro -All pero puedes utilizar cualquier otro de los que hemos visto anteriormente. Escribe los siguientes comandos adaptado la ruta donde se va crear el csv a tu entorno:
Connect-PowerBIServiceAccount Get-PowerBIWorkspace -All | Export-Csv C:\tmp\espacios_trabajo.csv -NoTypeInformation Disconnect-PowerBIServiceAccount
El CSV no será muy bonito pero si abres Excel, importas el CSV y le das formato, puedes ver algo similar a esta imagen: