Get-Flow
PowerApps: Retrieves information about flows
#Requires -Version 5.1
#Requires -Modules Microsoft.PowerApps.PowerShell
[CmdletBinding(DefaultParameterSetName = "Filter")]
Param(
[Parameter(Mandatory = $true, ParameterSetName = "Filter")]
[Parameter(Mandatory = $true, ParameterSetName = "Flow")]
[pscredential]$PACredential,
[Parameter(Mandatory = $true, ParameterSetName = "Flow")]
[string]$FlowName,
[Parameter(ParameterSetName = "Filter")]
[string]$Filter,
[Parameter(ParameterSetName = "Filter")]
[switch]$My,
[Parameter(ParameterSetName = "Filter")]
[switch]$Team,
[Parameter(ParameterSetName = "Filter")]
[int]$Top = 50,
[Parameter(ParameterSetName = "Filter")]
[Parameter(ParameterSetName = "Flow")]
[string]$EnvironmentName,
[Parameter(ParameterSetName = "Filter")]
[Parameter(ParameterSetName = "Flow")]
[string]$ApiVersion,
[Parameter(ParameterSetName = "Filter")]
[Parameter(ParameterSetName = "Flow")]
[ValidateSet('*', 'DisplayName', 'FlowName', 'Enabled', 'EnvironmentName', 'CreatedTime', 'LastModifiedTime', 'UserType', 'Internal')]
[string[]]$Properties = @('DisplayName', 'FlowName', 'Enabled', 'EnvironmentName', 'LastModifiedTime')
)
Process {
try {
ConnectPowerApps4Creators -PAFCredential $PACredential
$getArgs = @{ ErrorAction = 'Stop' }
if ($PSCmdlet.ParameterSetName -eq "Filter") {
if ($My) { $getArgs.Add('My', $true) }
if ($Team) { $getArgs.Add('Team', $true) }
}
else { $getArgs.Add('FlowName', $FlowName) }
if ($PSBoundParameters.ContainsKey('ApiVersion')) { $getArgs.Add('ApiVersion', $ApiVersion) }
if ($PSBoundParameters.ContainsKey('EnvironmentName')) { $getArgs.Add('EnvironmentName', $EnvironmentName) }
if ($PSBoundParameters.ContainsKey('Filter')) { $getArgs.Add('Filter', $Filter) }
if ($PSBoundParameters.ContainsKey('Top')) { $getArgs.Add('Top', $Top) }
$result = Get-Flow @getArgs -ErrorAction Stop | Select-Object $Properties
if ($null -ne $result) {
foreach ($item in $result) {
$item | Add-Member -NotePropertyName Timestamp -NotePropertyValue (Get-Date -Format "yyyy-MM-dd HH:mm:ss") -PassThru -Force
}
}
}
catch { throw }
finally { DisconnectPowerApps4Creators }
}PowerApps credentials for authentication
Find a specific flow by name
Filter flows by display name (wildcards supported)
Off
Show only flows owned by the authenticated user
Off
Show flows owned by user but shared with others
Limit the result count
Limit to a specific environment
API version to call
Properties to retrieve. Use * for all.