Så här anpassar du bakgrund och text i PowerShell: Komplett guide

Senaste uppdateringen: 03/10/2025
Författare: Isaac
  • PSReadLine och $PSStyle tillåter fullständiga paletter för tokens och formaterad utdata.
  • ISE exponerar $pISE.Options för färger, teckensnitt och snabb återställning.
  • Tillgänglighet kräver ett kontrastförhållande på 4.5:1; justera Val, Nyckelord och Sträng.
  • Gör profiländringar beständiga och använd Write-Host för snabba aviseringar.

Anpassa färger i PowerShell

Om du arbetar med din konsol varje dag har du förmodligen funderat på att justera färgerna för att göra texten tydligare eller helt enkelt för att göra miljön trevligare. Power låter dig anpassa bakgrund, textfärger och stilar både från själva konsolen och genom specifika moduler och objekt, och till och med spara den konfigurationen för att göra den permanent.

Förutom snabbinställningar från gränssnittet innehåller PowerShell PSReadLine och, sedan 7.2, variabeln $PSStyle för att färglägga syntaxtokens och formaterad utdata. Om du använder ljusa teman, är det lämpligt att omdefiniera färger eftersom standardpaletten är utformad för mörka bakgrunder och vissa nyanser kan bli oläsliga.

Visa och förstå dina aktuella inställningar med PSReadLine

Innan du rör vid något är det en bra idé att inspektera vad som är aktivt. Get-PSReadLineOption visar redigeringsläge, historik och palett som tillämpats på varje PSReadLine-tokentyp, bland andra alternativ.

Get-PSReadLineOption

Resultatet innehåller många detaljer. Bland de mest användbara är färgerna per token och ANSI-sekvenserna som gäller för en terminala med mörk bakgrund (typiska standardvärden):

EditMode                : Windows
AddToHistoryHandler     : System.Func`2
HistoryNoDuplicates     : True
HistorySavePath         : C:\Users\user1\AppData\Roaming\Microsoft\Wind...
HistorySaveStyle        : SaveIncrementally
HistorySearchCaseSensitive : False
HistorySearchCursorMovesToEnd : False
MaximumHistoryCount     : 4096
ContinuationPrompt      : >>
ExtraPromptLineCount    : 0
PromptText              : {> }
BellStyle               : Audible
DingDuration            : 50
DingTone                : 1221
CommandsToValidateScriptBlockArguments : {ForEach-Object, %, Invoke-Command, icm...}
CompletionQueryItems    : 100
MaximumKillRingCount    : 10
ShowToolTips            : True
ViModeIndicator         : None
WordDelimiters          : ;:,.[]{}()/\|^&*-=+'"-—―
AnsiEscapeTimeout       : 100
PredictionSource        : HistoryAndPlugin
PredictionViewStyle     : Inline
ViewCommandColor        : "`e    = "`e = "`e   = "`e   = "`e = 'red'
$psISE.Options.RestoreDefaultConsoleTokenColors()
  • ÅterställStandardvärden() (ISE 2.0+): Återställer alla alternativ på konsolpanelen till fabriksinställningarna och återställer aviseringar.
    # Cambia el fondo de la Consola y restaura
    $psISE.Options.ConsolePaneBackgroundColor = 'orange'
    $psISE.Options.RestoreDefaults()
    
  • ÅterställStandardTokenColors() (ISE 2.0+): Återställer panelens tokenfärger Script.
    # Cambia el color de comentarios y restaura
    $psISE.Options.TokenColors = 'red'
    $psISE.Options.RestoreDefaultTokenColors()
    
  • ÅterställStandardXmlTokenColors() (ISE 3.0+): Återställer tokenfärger för XML som visas i ISE.
    # Cambia comentarios en XML y restaura
    $psISE.Options.XmlTokenColors = 'red'
    $psISE.Options.RestoreDefaultXmlTokenColors()
    

Viktiga egenskaper för färger, typografi och beteende

Nedan följer ett komplett urval av ISEOptions-egenskaper för att styra utseende och upplevelse. Du kan tilldela färgnamn, hexadecimala eller System.Windows.Media.Color beroende på fallet:

  • Automatisk sparningMinutintervall (ISE 3.0+): Minuter mellan automatiska sparningar. Standardvärdet är 2.
    $psISE.Options.AutoSaveMinuteInterval = 3
    
  • KommandorutaBakgrundsfärg (ISE 2.0): Bakgrundsfärg för kommandopanelen.
    $psISE.Options.CommandPaneBackgroundColor = 'orange'
    
  • KommandopanelUpp (ISE 2.0): Placera panelen kommandon upp eller inte.
    $psISE.Options.CommandPaneUp = $true
    
  • KonsolrutaBakgrundsfärg (ISE 3.0+): Konsolpanelens bakgrund.
    $psISE.Options.ConsolePaneBackgroundColor = 'red'
    
  • KonsolrutaFörgrundsfärg (ISE 3.0+): Textfärg på konsolpanelen.
    $psISE.Options.ConsolePaneForegroundColor = 'yellow'
    
  • KonsolrutaTextBakgrundsfärg (ISE 3.0+): Konsoltextbakgrund.
    $psISE.Options.ConsolePaneTextBackgroundColor = 'pink'
    
  • Konsoltokenfärger (ISE 3.0+): Tokenfärgsordlista för IntelliSense i konsolen; tokens som attribut, kommando, nyckelord, sträng, variabel etc.
    $psISE.Options.ConsoleTokenColors = 'green'
    $psISE.Options.ConsoleTokenColors = 'magenta'
    
  • Felsökningsbakgrundsfärg (ISE 2.0+): Felsök textbakgrund.
    $psISE.Options.DebugBackgroundColor = '#0000FF'
    
  • FelsökningFörgrundsfärg (ISE 2.0+): Närbild av felsökningstext.
    $psISE.Options.DebugForegroundColor = 'yellow'
    
  • Standardalternativ (ISE 2.0+): Samling med standardvärden; användbar för inspektion.
    $psISE.Options.DefaultOptions
    
  • Felbakgrundsfärg (ISE 2.0+): Feltextbakgrund i konsolen.
    $psISE.Options.ErrorBackgroundColor = 'black'
    
  • FelFörgrundsfärg (ISE 2.0+): Feltextfärg i konsolen.
    $psISE.Options.ErrorForegroundColor = 'green'
    
  • Typsnittsnamn (ISE 2.0+): Teckensnitt som används i Script och Console. För teckensnittsrekommendationer, se välj det bästa typsnittet.
    $psISE.Options.FontName = 'Courier New'
    
  • Textstorlek (ISE 2.0+): Teckenstorlek (8–32) för skript, kommandon och utdata.
    $psISE.Options.FontSize = 20
    
  • IntellisenseTimeoutI sekunder (ISE 3.0+): IntelliSense väntetid för lösning (standard 3).
    $psISE.Options.IntellisenseTimeoutInSeconds = 5
    
  • MruCount (ISE 3.0+): Antal nyligen använda filer i menyn Öppna (standard 10).
    $psISE.Options.MruCount = 5
    
  • UtdatarutaBakgrundsfärg (ISE 2.0): Bakgrundsfärg för utdatapanelen.
    $psISE.Options.OutputPaneForegroundColor = 'gold'
    
  • UtdatarutaTextFörgrundsfärg (ISE 2.0): Text i förgrunden i utdata.
    $psISE.Options.OutputPaneTextForegroundColor = 'blue'
    
  • UtdatarutaTextBakgrundsfärg (ISE 2.0): Textbakgrund i utdata.
    $psISE.Options.OutputPaneTextBackgroundColor = 'pink'
    
  • SkriptrutaBakgrundsfärg (ISE 2.0+): Bakgrund för skriptpanelen.
    $psISE.Options.ScriptPaneBackgroundColor = 'yellow'
    
  • SkriptrutaFörgrundsfärg (ISE 2.0+): Förgrund på filer som inte är skript i skriptpanelen.
    $psISE.Options.ScriptPaneBackgroundColor = 'green'
    
  • ValtskriptPaneStatus (ISE 2.0+): Skriptpanelens position: "Överst", "Höger" eller "Maximerad".
    $psISE.Options.SelectedScriptPaneState = 'Top'
    $psISE.Options.SelectedScriptPaneState = 'Right'
    $psISE.Options.SelectedScriptPaneState = 'Maximized'
    
  • VisaStandardkodavsnitt (ISE 3.0+): Visa eller dölj utdrag som standard med Ctrl+J.
    $psISE.Options.ShowDefaultSnippets = $false
    
  • VisaIntellisenseIKonsolrutan (ISE 3.0+): Aktivera IntelliSense-förslag i konsolen.
    $psISE.Options.ShowIntellisenseInConsolePane = $false
    
  • VisaIntellisenseInScriptPane (ISE 3.0+): Aktivera IntelliSense i skriptet.
    $psISE.Options.ShowIntellisenseInScriptPane = $false
    
  • Visa linjenummer (ISE 3.0+): Radnummer i skriptpanelen.
    $psISE.Options.ShowLineNumbers = $false
    
  • VisaOutline (ISE 3.0+): Kodvikning/utvikning i Script.
    $psISE.Options.ShowOutlining = $false
    
  • Visa verktygsfält (ISE 2.0+): Visa ISE-verktygsfältet.
    $psISE.Options.ShowToolBar = $true
    
  • VisaVarningInnanSpararVidKörning (ISE 2.0+): Varning innan sparning vid körning.
    $psISE.Options.ShowWarningBeforeSavingOnRun = $true
    
  • Visa varning för dubblettfiler (ISE 2.0+): Varning när samma fil öppnas i flera flikar.
    $psISE.Options.ShowWarningForDuplicateFiles = $true
    
  • Tokenfärger (ISE 2.0+): Tokenfärgsordbok för IntelliSense i skript (attribut, kommando, nyckelord, etc.).
    $psISE.Options.TokenColors = 'green'
    $psISE.Options.TokenColors = 'magenta'
    
  • Använd Enter för att välja i konsolrutan Intellisense (ISE 3.0+): Använd Enter för att välja i IntelliSense-konsolen.
    $psISE.Options.UseEnterToSelectInConsolePaneIntellisense = $false
    
  • Använd Enter för att välja i ScriptPane Intellisense (ISE 3.0+): Använd Enter för att välja i Script IntelliSense.
    $psISE.Options.UseEnterToSelectInConsolePaneIntellisense = $true
    
  • Använd lokal hjälp (ISE 3.0+): F1 öppnar lokal eller onlinehjälp.
    $psISE.Options.UseLocalHelp = $false
    $psISE.Options.UseLocalHelp = $true
    
  • Utförlig bakgrundsfärg (ISE 2.0+): Utförlig textbakgrund.
    $psISE.Options.VerboseBackgroundColor = '#0000FF'
    
  • UtförligFörgrundsfärg (ISE 2.0+): Utförlig text i förgrunden.
    $psISE.Options.VerboseForegroundColor = 'yellow'
    
  • VarningBakgrundsfärg (ISE 2.0+): Varningstext i bakgrunden.
    $psISE.Options.WarningBackgroundColor = '#0000FF'
    
  • VarningFörgrundsfärg (ISE 2.0+): Närbild av varningstexten.
    $psISE.Options.WarningForegroundColor = 'yellow'
    
  • XmlTokenColors (ISE 3.0+): Tokenfärgsordbok för XML-innehåll.
    $psISE.Options.XmlTokenColors = 'green'
    $psISE.Options.XmlTokenColors = 'magenta'
    
  • Zoom (ISE 3.0+): Relativ textstorlek (20–400; standard 100).
    $psISE.Options.Zoom = 200
    

Du kan också visa en ögonblicksbild av standardkonfigurationen för ISE. Den visar dig teckensnitt, färger och tokenordböcker som standard, användbar för jämförelse.

$psISE.Options.DefaultOptions

Ändra färger från Windows-gränssnittet (CMD och PowerShell)

Om du föredrar att inte röra vid skript kan du även justera färgerna från själva fönstret. Högerklicka på titellisten de CMD eller PowerShell, välj Egenskaper och öppna fliken Färger.

  Så här åtgärdar du felet "Ethernet har ingen giltig IP-konfiguration" steg för steg

Ställ in bakgrundsbild och låsskärm med PowerShell

Utöver konsolfärgerna är det möjligt att ställa in skrivbordsbakgrunden via skript, till och med ändra inloggningsbakgrunden från manus. Det finns guider för Windows Server 2012 R2/2016/2019 och Windows 10/7 visar hur man gör det från PowerShell, vilket är användbart för automatisering.

I hanterade miljöer (till exempel med Intune) kan du paketera ett skript som fäster en bild eller en bildspel från mapp (t.ex. C:\\temp\\slideshowtest). Detta är ett vanligt scenario och kan automatiseras via distribution som ett program.

Färglägg snabbmeddelanden med Write-Host

För snabb utskrift låter Write-Host dig färglägga förgrunden och bakgrunden direkt. Den är idealisk för att markera varningar eller fel. i skript utan att komma in i PSReadLine.

Write-Host "Operación completada" -ForegroundColor Green
Write-Host "Atención" -ForegroundColor Yellow -BackgroundColor DarkBlue
Write-Host "Error" -ForegroundColor Red -BackgroundColor Black

Listan över färger som stöds är omfattande (till exempel Svart, Mörkblå, Mörkgrön, Mörkcyan, Mörkröd, Mörkmagenta, Mörkgul, Grå, Mörkgrå, Blå, Grön, Cyan, Röd, Magenta, Gul, Vit) och ger dig ett minimum av visuell koherens utan ytterligare beroenden.

Praktiska tips för en användbar palett

Sikta inte bara på "snyggt". Prioritera läsbarhet. Undvik att kombinera mättade toner på båda planen och kontrollera kontrasten med ett pålitligt verktyg. Målet är att hålla din konsol bekväm i timmar.

Kontrollera även markeringsfärgen och prediktions-/IntelliSense-markeringen. Ett urval med bra kontrast och en ListPredictionSelected som inte "äter" texten gör skillnad i produktiviteten.

Färger per projekt eller per maskin? Profiler till undsättning.

Om du växlar mellan maskiner eller användarprofiler lönar det sig att centralisera dina inställningar. Spara dina $ISETheme- och $PSStyle-inställningar i din profil och versionsredigera filen (till exempel med Git) för att hålla dem synkroniserade.

På delade datorer eller datorer med flera användare kan du överväga att dela upp profilen mellan AllUsers-profilen och användarprofilen. Så här skiljer man det globala från det personliga och undvik överraskningar när du byter sessioner.

  Vad är en PNG-fil och hur man öppnar den, 2021 Guide

Snabbdiagnos: Varför ser ljus dåligt ut?

Kom ihåg att standardpaletten PSReadLine och $PSStyle är utformad för mörka bakgrunder. I ljusa motiv, många ljusa toner i förgrunden De går obemärkt förbi. Kontrollera kommentar, sträng, nyckelord, medlem och variabel, som ofta krockar vid rensningar.

Om problemet är utdatafärgen för inbyggda cmdlets (till exempel tabellrubriker), kontrollera $PSStyle.Formatting.* och färgerna som definierats för kataloger, symboliska länkar, körbara filer och tillägg i $PSStyle.FileInfo.

Konfigurera Windows Terminal med flera skal
Relaterad artikel:
Konfigurera Windows Terminal med flera skal: En komplett guide