Customizing your PowerShell window colors

posted in: PowerShell 0

The information about the settings for your PowerShell’s shell colors are stored in the object model at:
System.Management.Automation.Internal.Host.InternalHost and at

under the PrivateData and RawUI Properties

you can see the various settings by typing

$host.PrivateData and pressing enter

PS C:\Users\Stacy> $host.PrivateData

ErrorForegroundColor    : Red
ErrorBackgroundColor    : Black
WarningForegroundColor  : Yellow
WarningBackgroundColor  : Black
DebugForegroundColor    : Yellow
DebugBackgroundColor    : Black
VerboseForegroundColor  : Yellow
VerboseBackgroundColor  : Black
ProgressForegroundColor : Yellow
ProgressBackgroundColor : DarkCyan

Or by typing $host.UI.RawUI

ForegroundColor:             DarkYellow
BackgroundColor:            Black
CursorPosition:                 0,70
WindowPosition :             0,21
CursorSize:                       25
BufferSize:                        120,3000
WindowSize:                     120,50
MaxWindowSize:              120,84
MaxPhysicalWindowSize: 274,84
KeyAvailable:                    False
WindowTitle :                    Windows PowerShell

Now if you don’t care for the red error text and would rather see it in green, type this


You also could have used Get-Host alias $host, like this:


Either way, powershell will just prompt back to normal, it will seem like nothing happened.  You can verify that it worked by typing this


without the single quotes and including Green.

It will result in an error, the error text will be Green with a black Error background color.

If you want to see information about the User Interface


If you wanted to change the background color of your current shell to black:


press enter


press enter

If you want your shell to always open up with a black background, you could create a folder in your my documents folder and name this new folder, WindowsPowerShell.  Then create a .ps1 file and include these two lines of code:


This channel, by Don Jones, on YouTube has really, quick and easy PowerShell tutorials on the above information and more: