I spent several hours trying to fix an annoying readability problem when running Python inside a PowerShell window. Some error and status text appears in red or blue shades that are difficult to see against the console background.
Changing the basic text color through the window Properties menu did not affect those colored categories. I also tried changing the ColorTable00 through ColorTable15 values under HKEY_CURRENT_USERConsole, but PowerShell continued using the same colors. An older color-customization utility also failed to run on my Windows 10 installation.
The workaround that finally helped was installing Windows Terminal and opening PowerShell inside it. PowerShell still runs normally, but Windows Terminal provides readable color schemes and profile customization. I would still like to know whether there is a way to change every PowerShell or Python-related color while continuing to use the original Windows console host, or whether Python itself controls any of these colors.
2 Answers
The most practical fix is to use Windows Terminal with a high-contrast profile. It still runs PowerShell, but its themes make the error colors much easier to read and are simpler to customize than the legacy console settings. If the machine cannot use a newer operating system, installing Windows Terminal separately can still be a useful workaround.
It helps to separate the shell from the window that displays it. cmd.exe and PowerShell are shells, while the traditional console host and Windows Terminal are console hosts. Windows Terminal is generally the better choice because it supports tabs, profiles, custom color schemes, and multiple shells in one application. You can also set it as the default console host.

That distinction explains why changing the old console color table did not affect all of PowerShell's own foreground colors. The shell can apply its own settings on top of the host's color palette.