TL;DR
- Run powershell.exe
- ALT-SPACE -> Properties
- Change your settings as desired.
- OK
powershell.exe is a console program. When a console program runs, Windows configures the console by looking in a bunch of locations.
First it looks at the shortcut (.LNK file) you launched. That's what you'll typically see in the start menu, on the desktop, in the taskbar. If you RClick on the shortcut and select Properties, you'll see a bunch of these options there.
For any options that aren't specified in the shortcut (or if you launched the .EXE directly, without a shortcut), Windows will look in the registry.
I couldn't find a comprehensive list of registry keys involved, but here are the ones I know about:
HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor
But wait, there's more!
When you open the System menu on a console window you see both "Properties" and "Defaults".
Defaults modifies one of the above registry keys.
The properties apply to the currently open console window and the shortcut that launched it. If you didn't use a shortcut because you opened the .EXE directly, it goes to a special registry key, instead, like:
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
But that's not all!
Console programs have the ability to modify their own colors. For example, in CMD you can do:
C:\>color f0
And in PowerShell:
PS> $Host.UI.RawUI.BackgroundColor = 7
These settings are not persisted in any way.
Best Answer
As you know, one can easily change the PowerShell console colours using something like this in your profile:
However, you are limited to the standard 16 ANSI colours. You may be able to alter the colours used as the defaults in the registry (I can vaguely remember doing so in the past, but I cannot find any notes on it), but an easy way to do it would be to wrap the PowerShell console with Console2 and use the options in its settings. You'd also get other benefits, like tabs and easy pasting.
EDIT: I just remembered that you can do the same without using Console2. In the standard PowerShell console, just go to the Colour tab in Properties and modify the RGB values of the standard 16 ANSI colours.