web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Retrieve a power autom...
Power Automate
Unanswered

Retrieve a power automate flow with powershell

(0) ShareShare
ReportReport
Posted on by 691

Hello, I would like to make a PowerShell script where I use the "GetFlow" function to retrieve a Power Automate flow. But unfortunately when I run my powershell script nothing happens. Could you help me please ? 😞

Thanks in advance !

 

Here is my config file:

 

{
 "tenantId" : "0000000-0000-0000-0000-00000000", 
 "certifThumb" : "QHFHGELGEJGQJFOQQJEQJGJQLKGJQEGJEKL",
 "appId" : "0000000-0000-0000-0000-00000000",
 "triggerHour" : "01:00",
 "outputFile" : ".\\flow-stats.txt",
 "errorsFile" : ".\\flow-errors.txt",
 "dataFile" : ".\\flow-data.json",
 "flows" : [
 {
 "name": "Flux",
 "mailbox": "aaaaaa@aaaa.onmicrosoft.com",
 "serviceAccount" : "PS_FLOW"
 }
 ]
}

 

(Obviously I changed the confidential values to send the script here)

 

 

 

Here is my powershell script:

 

$ErrorActionPreference = "Stop"

$PSModulesNames = "Microsoft.PowerApps.PowerShell", "Microsoft.PowerApps.Administration.PowerShell"
$configFileName = "Flow-Stats.config"
$jsonDateFormat = "o" #2022-03-23T16:37:51.8011737+01:00

$PSModulesNames | ForEach-Object {
 Import-Module $_ -EA SilentlyContinue
 $module = Get-Module -Name $_
 if($null -eq $module) {
 throw "Module '$_' not found"
 }
}

$config = Get-Content ".\$configFileName" -Encoding UTF8 -EA SilentlyContinue | ConvertFrom-Json -EA SilentlyContinue
if($null -eq $config) {
 throw "Error reading config file '$configFileName'"
}

#Add-PowerAppsAccount -TenantID $config.tenantId -CertificateThumbprint $config.certifThumb -ApplicationId $config.appId

$data = Get-Content ".\$($config.dataFile)" -Encoding UTF8 -EA SilentlyContinue | ConvertFrom-Json -EA SilentlyContinue
if($null -eq $data) {
 $data = [PSCustomObject]@{
 lastExec = [datetime]::MinValue.ToString($jsonDateFormat)
 }
}
$lastExec = Get-Date $data.lastExec
$now = Get-Date
$flowIds = @{}

function GetFlowRuns {
 param(
 [string] $FlowName,
 [datetime] $Start,
 [datetime] $End
 )
 $runs = @(Get-FlowRun -FlowName $FlowName | Where-Object {
 $date = Get-Date $_.StartTime
 return $date -ge $Start -and $date -lt $End
 })
 $runCount = $runs.Count
 $errors = @($runs | Where-Object { $_.Status -eq "Failed" })
 $errorsCount = $errors.Count
 return [PSCustomObject]@{
 runCount = $runCount
 errorCount = $errorsCount
 errors = $errors | ForEach-Object {
 return [PSCustomObject]@{
 date = (Get-Date $_.StartTime).ToString($jsonDateFormat)
 message = $_.Internal.properties.error.message
 }
 }
 }
}

 

 

 

 

 

 

 

 

 

Categories:
I have the same question (0)

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Haque Profile Picture

Haque 608

#2
Valantis Profile Picture

Valantis 416

#3
11manish Profile Picture

11manish 348

Last 30 days Overall leaderboard