AzDataFactoryV2PipelinesLastExecution.psm1
<#
.SYNOPSIS This command provides the list of pipelines and the coressponding last execution Pipelinerun details of the same. .DESCRIPTION This command provides the list of pipelines and the coressponding last execution Pipelinerun details of the same. .PARAMETER ResourceGroupName The resource group containing the DataFactory V2 .PARAMETER DataFactoryName The name of the DataFactory V2. .PARAMETER PipelineName The name of the Pipeline in the DataFactory V2. .EXAMPLE Get-AzDataFactoryV2PipelinesLastExecution -ResourceGroupName "<<RGName>>" -DataFactoryName "<<ADFV2Name>>" Get-AzDataFactoryV2PipelinesLastExecution -ResourceGroupName "<<RGName>>" -DataFactoryName "<<ADFV2Name>>" -PipelineName "<<PipelineName>>" -$StartRange "<<StartRange>>" -$EndRange "<<EndRange>>" #> Function Get-AzDataFactoryV2PipelinesLastExecution { Param ( [Parameter(Mandatory=$true)] [string] $ResourceGroupName , [Parameter(Mandatory=$true)] [string] $DataFactoryName , [Parameter(Mandatory=$false)] [string] $PipelineName, [datetime]$StartRange = "1900-01-01", [datetime]$EndRange = (Get-Date).ToString() ) $resultarray = @() if (!$PipelineName) { $Pipelines=Get-AzDataFactoryV2Pipeline -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName for($j=0; $j -lt $y.Length; $j++) { $PipelineRuns=Get-AzDataFactoryV2PipelineRun -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -LastUpdatedAfter $StartRange -LastUpdatedBefore $EndRange -PipelineName $Pipelines[$j].Name if ($PipelineRuns) ## if there are no runs for that pipeline skip { $resultarray=$resultarray + $PipelineRuns[[Array]::IndexOf($PipelineRuns.RunStart,($PipelineRuns | Measure-Object -Property RunStart -Maximum).Maximum)] } } $resultarray |format-table -Property PipelineName,RunId,RunStart,RunEnd,DurationInMs,Status,Message -AutoSize } #endif else { $PipelineRuns=Get-AzDataFactoryV2PipelineRun -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -LastUpdatedAfter $StartRange -LastUpdatedBefore $EndRange -PipelineName $PipelineName if ($PipelineRuns) ## if there are no runs for that pipeline skip { $PipelineRuns[[Array]::IndexOf($PipelineRuns.RunStart,($PipelineRuns | Measure-Object -Property RunStart -Maximum).Maximum)] |format-table -Property PipelineName,RunId,RunStart,RunEnd,DurationInMs,Status,Message -AutoSize } }#endelse } Export-ModuleMember -Function Get-AzDataFactoryV2PipelinesLastExecution |