Tuesday, November 22, 2022

Power Platform Audit Scripts using PowerShell -All Environments

Get All Environments using PowerShell

 Clear-Host


$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition

$environmentsFilePath = "$scriptPath\Environments.xlsx"


$excel = New-Object -ComObject excel.application 

$workbook = $excel.Workbooks.Add()


$envs = Get-AdminPowerAppEnvironment


$wksht= $workbook.Worksheets.Add() 

$wksht.Name = 'Environments'


$wksht.Cells.Item(1,1) = "EnvironmentName"

$wksht.Cells.Item(1,2) = "DisplayName"

$wksht.Cells.Item(1,3) = "UniqueName"

$wksht.Cells.Item(1,4) = "EnvironmentType"

$wksht.Cells.Item(1,5) = "CommonDataServiceDatabaseType"

$wksht.Cells.Item(1,6) = "IsDefault"

$wksht.Cells.Item(1,7) = "Location"

$wksht.Cells.Item(1,8) = "AzureRegion"

$wksht.Cells.Item(1,9) = "MetadataType"

$wksht.Cells.Item(1,10) = "InternalCds"

$wksht.Cells.Item(1,11) = "CreatedBy"

$wksht.Cells.Item(1,12) = "CreatedTime"

$wksht.Cells.Item(1,13) = "CreationType"


$row=2

foreach($env in $envs)

{

    $wksht.Cells.Item($row,1) = $env.EnvironmentName

    $wksht.Cells.Item($row,2) = $env.DisplayName

    $wksht.Cells.Item($row,3) = $env.Internal.properties.linkedEnvironmentMetadata.uniqueName

    $wksht.Cells.Item($row,4) = $env.EnvironmentType

    $wksht.Cells.Item($row,5) = $env.CommonDataServiceDatabaseType

    $wksht.Cells.Item($row,6) = $env.IsDefault

    $wksht.Cells.Item($row,7) = $env.Location

    $wksht.Cells.Item($row,8) = $env.Internal.properties.azureRegionHint   

    $wksht.Cells.Item($row,9) = $env.Internal.properties.linkedEnvironmentMetadata.type

    $wksht.Cells.Item($row,10) = $env.InternalCds

    $wksht.Cells.Item($row,11) = $env.CreatedBy.displayName

    $wksht.Cells.Item($row,12) = $env.CreatedTime

    $wksht.Cells.Item($row,13) = $env.CreationType

            

    $row+=1

}

$usedRange = $wksht.UsedRange

$usedRange.EntireColumn.AutoFit() | Out-Null

$workbook.Worksheets.Item($workbook.Worksheets.Count).Delete()


$excel.visible = $True

$workbook.SaveAs($environmentsFilePath)


No comments:

Post a Comment