How can you reset the colors for Windows PowerShell if they become corrupted after running a program?
As a one-time operation just run this:
> [Console]::ResetColor()
From the docs: (emphasis added)
The foreground and background colors are restored to the colors that existed when the current process began.
I have this problem with MSBuild especially when I ctrl+C a build. This is what I put in my profile.ps1 file:
$OrigBgColor = $host.ui.rawui.BackgroundColor$OrigFgColor = $host.ui.rawui.ForegroundColor# MSBUILD has a nasty habit of leaving the foreground color red# if you Ctrl+C while it is outputting errors.function Reset-Colors { $host.ui.rawui.BackgroundColor = $OrigBgColor $host.ui.rawui.ForegroundColor = $OrigFgColor}
Then I just invoke Reset-Colors when MSBuild has messed them up.
First create a profile in PowerShell if you do not have one already:
test-path $profilenew-item -path $profile -itemtype file -forcenotepad $profile
Second, put this code in the file:
function prompt { [Console]::ResetColor()}
Third, check if PowerShell will allow you to run scripts.
Get-ExecutionPolicy
If this says Restricted then run the following AS Administrator (please be sure you understand the security implications):
Set-ExecutionPolicy RemoteSigned
Open up a new PowerShell prompt and you should be able run node or other commands without any color issues.