Public/Get-TechCareProfile.ps1
|
function Get-TechCareProfile { <# .SYNOPSIS Devuelve la lista de modulos asociada a un preset de mantenimiento. .DESCRIPTION Expande un preset (Basic, Standard o Full) a los modulos que se ejecutaran. El orden devuelto es el orden canonico de ejecucion: diagnosticar antes de reparar, reparar antes de limpiar, e informar siempre al final. .PARAMETER MaintenanceProfile Preset a expandir. Acepta los alias -Preset y -Profile. El parametro no se llama -Profile a secas porque $Profile es una variable automatica de PowerShell (la ruta del perfil de la sesion) y declararla como parametro dispara PSAvoidAssignmentToAutomaticVariable. .EXAMPLE Get-TechCareProfile -MaintenanceProfile Basic Devuelve Diagnose, Cleanup y Report. .EXAMPLE Get-TechCareProfile Full El preset es posicional, asi que el nombre del parametro puede omitirse. .EXAMPLE Get-TechCareProfile -Preset Standard | ForEach-Object { "Modulo: $_" } El alias -Preset existe para quien prefiera ese termino. .OUTPUTS System.String[] .LINK https://github.com/earbona23/TechCare #> [CmdletBinding()] [OutputType([string[]])] param( [Parameter(Mandatory, Position = 0)] [Alias('Preset', 'Profile')] [ValidateSet('Basic', 'Standard', 'Full')] [string]$MaintenanceProfile ) switch ($MaintenanceProfile) { 'Basic' { return [string[]]@('Diagnose', 'Cleanup', 'Report') } 'Standard' { return [string[]]@('Diagnose', 'Repair', 'Update', 'Cleanup', 'Security', 'Report') } 'Full' { return [string[]]@('Diagnose', 'Repair', 'Update', 'Cleanup', 'Performance', 'Security', 'Report') } } } |