Exportar usuarios del Workspace de Power BI desde PowerShell

En el siguiente articulo vamos a comprobar como exportar usuarios del servicio Power BI desde PowerShell. En artículos anteriores comprobamos como desde PowerShell podíamos ver la información de los espacios de trabajo, pero ahora crearemos un script que se conecte a Power BI y nos descargue un CSV con los usuarios que tienen acceso, su permisos, etc. de los diferentes workspace.

Especificaciones del entorno

Paso a paso

  1. Crea un fichero de texto vacío.
  2. Copia el siguiente código y pégalo en tu fichero.
#Conectar al servicio
Connect-PowerBIServiceAccount

#Asignamos a la variable Workspaces los diferentes espacios de trabajo de la organización.
#Si quieres un Workspace en concreto incluye al final de la siguiente linea el parametro -ID 
#seguido del ID del workspace.

$Workspaces = Get-PowerBIWorkspace -Scope Organization

#Por cada espacio de trabajo obtenemos sus datos y los exportamos a excel.
$Workspaces | 
    ForEach-Object {
        $Workspace = $_.name
        foreach ($User in $_.Users) {
            [PSCustomObject]@{
                Workspace = $Workspace
                Usuario = $User.UserPrincipalName
		Permisos = $User.AccessRight
		Identificador = $User.Identifier
            }
        }
    } | Export-CSV "ruta donde se guardara el fichero" -NoTypeInformation -Encoding UTF8

#Desconectar del servicio
Disconnect-PowerBIServiceAccount
  1. Guarda el fichero de texto (presta atención a la extensión, debe ser .ps1)
  2. Abre PowerShell desde la línea de comandos.
  3. Ejecuta el script con el siguiente comando.
invoke-expression -Command ruta_y_nombre.ps1

Ejemplo de ejecución:

Ejemplo del fichero resultante:

Escribir un comentario