Private/Add-TechCareResult.ps1
|
function Add-TechCareResult { <# .SYNOPSIS Anade el resultado de un modulo al estado de la ejecucion y lo devuelve. .DESCRIPTION El informe final se construye solo con lo que pase por aqui, de modo que un modulo que no registre su resultado no aparece en el informe. #> [CmdletBinding()] [OutputType([pscustomobject])] param( [Parameter(Mandatory)] [ValidateSet('Diagnose', 'Repair', 'Update', 'Cleanup', 'Performance', 'Security', 'Report')] [string]$Module, [ValidateSet('Green', 'Yellow', 'Red', 'Gray')] [string]$Status = 'Gray', [AllowEmptyCollection()] [string[]]$Findings = @(), [AllowEmptyCollection()] [string[]]$Actions = @(), [AllowEmptyCollection()] [string[]]$Recommendations = @(), [int64]$SpaceFreedBytes = 0 ) $result = [pscustomobject]@{ Module = $Module Status = $Status Findings = $Findings Actions = $Actions Recommendations = $Recommendations SpaceFreedBytes = $SpaceFreedBytes TimeUtc = (Get-Date).ToUniversalTime().ToString('s') + 'Z' } [void]$script:State.Results.Add($result) return $result } |