Q:

List of all colors available for PowerShell?

I am searching for a list of all colors I can use in PowerShell. Since we need to provide names and no hexnumbers, it's hard to figure out if a color exists or not, at least if you don't know how :))
For example, as -foregroundcolor
write-host "hello world" -foregroundcolor "red"

A:

The console colors are in an enum called [System.ConsoleColor].  You can list all the values using the GetValues static method of [Enum]
[Enum]::GetValues([System.ConsoleColor])

or just
[Enum]::GetValues([ConsoleColor])

A:

Pretty grid 
$colors = [enum]::GetValues([System.ConsoleColor])
Foreach ($bgcolor in $colors){
    Foreach ($fgcolor in $colors) { Write-Host "$fgcolor|"  -ForegroundColor $fgcolor -BackgroundColor $bgcolor -NoNewLine }
    Write-Host " on $bgcolor"
}

https://gist.github.com/timabell/cc9ca76964b59b2a54e91bda3665499e

A:

I've found it useful to preview how the console colors will display with a simple helper function:
function Show-Colors( ) {
  $colors = [Enum]::GetValues( [ConsoleColor] )
  $max = ($colors | foreach { "$_ ".Length } | Measure-Object -Maximum).Maximum
  foreach( $color in $colors ) {
    Write-Host (" {0,2} {1,$max} " -f [int]$color,$color) -NoNewline
    Write-Host "$color" -Foreground $color
  }
}

