Public/Get-StmClusteredScheduledTaskRun.ps1
function Get-StmClusteredScheduledTaskRun { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $TaskName, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $Cluster, [Parameter(Mandatory = $false)] [ValidateNotNullOrEmpty()] [string] $TaskPath, [Parameter(Mandatory = $false)] [ValidateNotNull()] [System.Management.Automation.PSCredential] [System.Management.Automation.Credential()] $Credential = [System.Management.Automation.PSCredential]::Empty ) begin { Write-Verbose "Starting Get-StmClusteredScheduledTaskRun on cluster '$Cluster'" $stmClusterNodeParameters = @{ Cluster = $Cluster } if ($PSBoundParameters.ContainsKey('Credential')) { $stmClusterNodeParameters['Credential'] = $Credential } $scheduledTaskRunParameters = @{ TaskName = $TaskName } if ($PSBoundParameters.ContainsKey('TaskPath')) { $scheduledTaskRunParameters['TaskPath'] = $TaskPath } if ($PSBoundParameters.ContainsKey('Credential')) { $scheduledTaskRunParameters['Credential'] = $Credential } } process { Write-Verbose "Getting cluster nodes for cluster '$Cluster'" $clusterNodes = Get-StmClusterNode @stmClusterNodeParameters if ($null -eq $clusterNodes -or $clusterNodes.Count -eq 0) { Write-Error "No cluster nodes found for cluster '$Cluster'" return } Write-Verbose "Cluster nodes found: $($clusterNodes.Count)" Write-Verbose "Cluster nodes: $($clusterNodes | Out-String)" foreach ($node in $clusterNodes) { Write-Verbose "Getting scheduled task runs for node '$($node.Name)' on cluster '$Cluster'" Get-StmScheduledTaskRun -ComputerName $node.Name @scheduledTaskRunParameters } } end { Write-Verbose "Finished Get-StmClusteredScheduledTaskRun on cluster '$Cluster'" } } |