如何在 PowerShell 中更改颜色

本文将讨论如何使用 PowerShell 更改字体颜色、脚本的背景颜色和控制台窗口颜色。
PowerShell 中的颜色更改介绍
这些命令检索有关 PowerShell 控制台(控制台主机)的信息对象。
命令:
$host
输出:
Name : Windows PowerShell ISE Host
Version : 5.1.22000.282
InstanceId : 8cff2bea-868b-4d9e-b55a-06a3f4b8c20c
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-PH
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.Host.ISE.ISEOptions
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PrivateData
属性具有我们寻找的所有颜色属性。
命令:
$host.PrivateData
输出:
ErrorForegroundColor : #FFFF9494
ErrorBackgroundColor : #00FFFFFF
WarningForegroundColor : #FFFF8C00
WarningBackgroundColor : #00FFFFFF
VerboseForegroundColor : #FF00FFFF
VerboseBackgroundColor : #00FFFFFF
DebugForegroundColor : #FF00FFFF
DebugBackgroundColor : #00FFFFFF
ConsolePaneBackgroundColor : #FF012456
ConsolePaneTextBackgroundColor : #FF012456
ConsolePaneForegroundColor : #FFF5F5F5
ScriptPaneBackgroundColor : #FFFFFFFF
ScriptPaneForegroundColor : #FF000000
颜色设置用于 $host.PrivateData
对象中的警告、错误、调试、详细和进度流。尝试更改其中一个值,看看您的控制台是否也更改颜色。
命令:
$host.PrivateData.ErrorBackgroundColor = "White"
输出:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
在控制台上显示的输出是普通白色文本(如果默认颜色没有更改)。执行以下命令以显示控制台颜色及其各自的颜色。
命令:
[System.Enum]::GetValues('ConsoleColor') |
ForEach-Object { Write-Host $_ -ForegroundColor $_ }
输出:
假设我们想看看哪些颜色组合会有效并符合我们的喜好。在这种情况下,我们可以使用下面的命令,该命令将输出所有可能前景色与所有可能背景色的组合。
命令:
$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"
}
输出:
更改 PowerShell 中的控制台颜色
更改突出显示的控制台前景色和背景颜色与我们之前的对象略有不同。我们可以尝试下面的代码片段来更改文本颜色和 PowerShell 控制台窗口的颜色。
命令:
$host.UI.RawUI.ForegroundColor = "DarkGreen"
$host.UI.RawUI.BackgroundColor = "Black"
cls
输出:
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn