Private/Main/Out-ActionStatus.ps1
function Out-ActionStatus { [CmdletBinding()] param( [parameter(Mandatory = $false)][Array] $CommandOutput, [parameter(Mandatory = $true)][Microsoft.ActiveDirectory.Management.ADAccount] $User, [parameter(Mandatory = $true)][string] $Name ) $WriteSuccess = @{ Text = '[+] ', 'Execution ', $Name, ' on account ', $User.distinguishedName, ' done.' Color = 'Cyan', 'White', 'Cyan', 'White', 'Cyan', 'White', 'Cyan', 'White', 'Cyan' StartSpaces = 8 } $WriteSkip = @{ Text = '[-] ', 'Execution ', $Name, ' on account ', $User.distinguishedName, ' skipped.' Color = 'Yellow', 'White', 'Yellow', 'White', 'Yellow', 'White', 'Yellow', 'White', 'Yellow' StartSpaces = 8 } $WriteStatusSuccess = @{ StartSpaces = 12 Color = 'Green', 'White', 'Green', 'White', 'Green' } $WriteStatusFail = @{ StartSpaces = 12 Color = 'Red', 'White', 'Red', 'White', 'Red' } if ($CommandOutput) { Write-Color @WriteSuccess foreach ($Output in $CommandOutput) { if ($Output.Status) { Write-Color @WriteStatusSuccess -Text '[+] ', 'Successfully processed ', $Output.Output, ' Extended information: ', $Output.Extended } else { Write-Color @WriteStatusFail -Text '[-] ', 'Skipped ', $Output.Output, ' Extended information: ', $Output.Extended } } } else { Write-Color @WriteSkip } } |