Public/Get-Select.ps1
function Get-Select { Param( [Parameter(Mandatory = $true)] [String]$Prompt, [Parameter(Mandatory = $true)] [String[]]$Options ) Write-ColorOutput white "$Prompt" $Options | % {$i=0} {Write-ColorOutput white "`t $($i+1)) $($_)"; $i++} Do { $selected = Read-Host -Prompt "Select" $validated = $false if ($selected -match '^[0-9]+$') { $selected = [int]$selected if ($selected -gt 0 -And $selected -le $Options.Count) { $validated = $true } } } Until ($validated) $selected = $Options | Select -Index $($selected - 1) return $selected } |