top of page
  • Foto del escritorAlejandro Caravantes Molina

Obtener componentes Power Platform de todo el tenant con PowerShell



Algo muy rápido en esta ocasión y no tan extenso como los otros post.


Si en alguna ocasión necesitas tener una foto clara de cuántos y qué componentes hay desplegados en un tenant y no tienes tiempo para crear flujos con Power Automate ni quieres ir entorno por entorno viendo los datos de análisis y telemetría, te invito a que ejecutes unos sencillos scripts de PowerShell que con cuatro (literal) líneas de código nos dan mucha información.


Lo primero que necesitas hacer si no has usado aun los comandos de PowerShell para la administración de Power Platform es instalar los módulos necesarios. Para ello abre una consola de PowerShell y ejecuta lo siguiente:

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

Cuando los módulos se instalen ya estará casi todo listo para que empieze el rock. Lo primero que debemos hacer es logarnos en Power Platform con un usuario con rol de administrador ejecutando el comando:

Add-PowerAppsAccount

Si no hacemos este paso, en el momento que se ejecute el primer comando nos aparecerá una ventana emergente de login. Si por el contrario estas pensando en darle forma a unos scripts mas "serios" o que se ejecuten periódicamente igual te interesa setear las credenciales en el propio script:

$pass = ConvertTo-SecureString "TuContraseña" -AsPlainText -Force
Add-PowerAppsAccount -Username TuUsuario@TuOrganization.com -Password $pass

Cuando hayas inciado sesión, ahora si, ya está todo listo para poder empezar a ejecutar cualquier comando de los que nos brinda Microsoft. Te dejo la documentación con todos los comandos de PowerShell aquí.


Para obtener por ejemplo una lista de todas las Power Apps dentro de una organización podemos hacerlo de forma muy rápida con un script tan sumamente simple como este:


$propiedades = @{
          "NombreAplicacion" = ''
          "NombreParaMostrar" = ''
          "FechaCreacion"=''
        }

$listaPowerApps= Get-AdminPowerApp


$listaAExportar=@();
foreach ($app in $listaPowerApps)
{
    $appAExportar=New-Object -TypeName PSObject -Property $propiedades 
    $appAExportar.NombreAplicacion=$app.AppName
    $appAExportar.NombreParaMostrar=$app.DisplayName
    $appAExportar.FechaCreacion=$app.CreatedTime
 
    $listaAExportar+=$appAExportar
}


Si has llegado hasta aquí, te tengo una "sorpresa" preparada. Y es que a través de comandos PowerShell se pueden realizar pequeñas acciones que a día de hoy no se pueden hacer de ninguna otra forma como por ejemplo bloquear la creación de entornos de tipo Developer en todo el tenant. ¿Cómo? aquí te lo explica muy bien Microsoft.


¡Nos vemos en la siguiente!

bottom of page