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.
Tabla de Contenidos
ocultar
Especificaciones del entorno
- Windows 11
- PowerShell 7.3
- Módulos de Power BI para PowerShell
- Servicio de Power BI
Paso a paso
- Crea un fichero de texto vacío.
- 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
- Guarda el fichero de texto (presta atención a la extensión, debe ser .ps1)
- Abre PowerShell desde la línea de comandos.
- Ejecuta el script con el siguiente comando.
invoke-expression -Command ruta_y_nombre.ps1
Ejemplo de ejecución:
Ejemplo del fichero resultante: