- PSReadLine en $PSStyle bieden volledige paletten voor tokens en geformatteerde uitvoer.
- De ISE stelt $psISE.Options beschikbaar voor kleuren, lettertypen en snel herstel.
- Voor toegankelijkheid is een contrastverhouding van 4.5:1 vereist; pas Selectie, Trefwoord en Tekenreeks aan.
- Maak profielwijzigingen blijvend en gebruik Write-Host voor tijdige meldingen.
Als u dagelijks met uw console werkt, hebt u er waarschijnlijk al eens over nagedacht om de kleuren aan te passen om tekst duidelijker te maken of gewoon om de omgeving prettiger te maken. PowerShell Hiermee kunt u de achtergrond, tekstkleuren en stijlen aanpassen zowel vanuit de console zelf als via specifieke modules en objecten. U kunt de configuratie zelfs opslaan om deze permanent te maken.
Naast de snelle instellingen vanuit de interface, bevat PowerShell PSReadLine en, sinds 7.2, de variabele $PSStyle om syntaxistokens en geformatteerde uitvoer in te kleuren. Als u lichte thema's gebruiktis het raadzaam om de kleuren opnieuw te definiëren, omdat het standaardpalet is ontworpen voor donkere achtergronden en sommige tinten onleesbaar kunnen worden.
Bekijk en begrijp uw huidige instellingen met PSReadLine
Voordat u iets aanraakt, is het een goed idee om te controleren wat er actief is. Get-PSReadLineOption Geeft onder andere de bewerkingsmodus, geschiedenis en het palet weer die op elk PSReadLine-tokentype zijn toegepast.
Get-PSReadLineOption
Het resultaat bevat veel details. Tot de meest bruikbare behoren zijn de kleuren per token en de ANSI-reeksen van kracht voor een terminal met donkere achtergrond (typische standaardwaarden):
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()
- HerstelStandaardwaarden() (ISE 2.0+): Zet alle opties van het consolepaneel terug naar de fabrieksinstellingen en reset meldingen.
# Cambia el fondo de la Consola y restaura $psISE.Options.ConsolePaneBackgroundColor = 'orange' $psISE.Options.RestoreDefaults() - HerstelStandaardTokenKleuren() (ISE 2.0+): Reset de kleuren van het paneeltoken Script.
# Cambia el color de comentarios y restaura $psISE.Options.TokenColors = 'red' $psISE.Options.RestoreDefaultTokenColors() - HerstelStandaardXmlTokenKleuren() (ISE 3.0+): Herstelt tokenkleuren voor XML die in ISE wordt weergegeven.
# Cambia comentarios en XML y restaura $psISE.Options.XmlTokenColors = 'red' $psISE.Options.RestoreDefaultXmlTokenColors()
Belangrijkste eigenschappen voor kleuren, typografie en gedrag
Hieronder vindt u een complete selectie van ISEOptions-eigenschappen waarmee u het uiterlijk en de ervaring kunt beheren. U kunt kleurnamen, hex of System.Windows.Media.Color toewijzen afhankelijk van het geval:
- AutoSaveMinuteInterval (ISE 3.0+): Minuten tussen automatisch opslaan. Standaard is 2.
$psISE.Options.AutoSaveMinuteInterval = 3 - CommandPaneBackgroundColor (ISE 2.0): Achtergrondkleur van het opdrachtpaneel.
$psISE.Options.CommandPaneBackgroundColor = 'orange' - CommandPaneUp (ISE 2.0): Plaats het paneel commando's omhoog of niet.
$psISE.Options.CommandPaneUp = $true - ConsolePaneBackgroundColor (ISE 3.0+): Achtergrond van het consolepaneel.
$psISE.Options.ConsolePaneBackgroundColor = 'red' - ConsolePaneForegroundColor (ISE 3.0+): Tekstkleur van het consolepaneel.
$psISE.Options.ConsolePaneForegroundColor = 'yellow' - ConsolePaneTextBackgroundColor (ISE 3.0+): Achtergrond van consoletekst.
$psISE.Options.ConsolePaneTextBackgroundColor = 'pink' - ConsoleTokenKleuren (ISE 3.0+): Token-kleurenwoordenboek voor IntelliSense in de console; tokens zoals Attribuut, Opdracht, Trefwoord, String, Variabele, etc.
$psISE.Options.ConsoleTokenColors = 'green' $psISE.Options.ConsoleTokenColors = 'magenta' - DebugBackgroundColor (ISE 2.0+): Debug tekstachtergrond.
$psISE.Options.DebugBackgroundColor = '#0000FF' - DebugVoorgrondkleur (ISE 2.0+): Close-up van debugtekst.
$psISE.Options.DebugForegroundColor = 'yellow' - Standaardopties (ISE 2.0+): Verzameling met standaardwaarden; handig voor inspectie.
$psISE.Options.DefaultOptions - Foutachtergrondkleur (ISE 2.0+): Fouttekstachtergrond in console.
$psISE.Options.ErrorBackgroundColor = 'black' - FoutVoorgrondKleur (ISE 2.0+): Fouttekstkleur in Console.
$psISE.Options.ErrorForegroundColor = 'green' - LettertypeNaam (ISE 2.0+): Lettertype gebruikt in Script en Console. Zie voor aanbevolen lettertypen. kies het beste lettertype.
$psISE.Options.FontName = 'Courier New' - Lettertypegrootte (ISE 2.0+): Lettergrootte (8–32) voor scripts, opdrachten en uitvoer.
$psISE.Options.FontSize = 20 - IntellisenseTimeoutInSeconds (ISE 3.0+): IntelliSense-wachttijd voor oplossing (standaard 3).
$psISE.Options.IntellisenseTimeoutInSeconds = 5 - MruCount (ISE 3.0+): Aantal recente bestanden in het menu Openen (standaard 10).
$psISE.Options.MruCount = 5 - UitvoerPaneelAchtergrondKleur (ISE 2.0): Achtergrondkleur van het uitvoerpaneel.
$psISE.Options.OutputPaneForegroundColor = 'gold' - UitvoerPaneelTekstVoorgrondKleur (ISE 2.0): Tekstvoorgrond in Uitvoer.
$psISE.Options.OutputPaneTextForegroundColor = 'blue' - UitvoerPaneelTekstAchtergrondKleur (ISE 2.0): Tekstachtergrond in Uitvoer.
$psISE.Options.OutputPaneTextBackgroundColor = 'pink' - ScriptPaneBackgroundColor (ISE 2.0+): Achtergrond van scriptpaneel.
$psISE.Options.ScriptPaneBackgroundColor = 'yellow' - ScriptPaneForeGroundColor (ISE 2.0+): Voorgrond op niet-scriptbestanden in het Script-paneel.
$psISE.Options.ScriptPaneBackgroundColor = 'green' - GeselecteerdeScriptPaneState (ISE 2.0+): Positie van het scriptpaneel: “Boven”, “Rechts” of “Gemaximaliseerd”.
$psISE.Options.SelectedScriptPaneState = 'Top' $psISE.Options.SelectedScriptPaneState = 'Right' $psISE.Options.SelectedScriptPaneState = 'Maximized' - Standaardfragmenten weergeven (ISE 3.0+): Toon of verberg standaard fragmenten met Ctrl+J.
$psISE.Options.ShowDefaultSnippets = $false - ToonIntellisenseInConsolePane (ISE 3.0+): IntelliSense-suggesties inschakelen in de console.
$psISE.Options.ShowIntellisenseInConsolePane = $false - ToonIntellisenseInScriptPane (ISE 3.0+): IntelliSense inschakelen in Script.
$psISE.Options.ShowIntellisenseInScriptPane = $false - ToonRegelNummers (ISE 3.0+): Regelnummers in het Script-paneel.
$psISE.Options.ShowLineNumbers = $false - ShowOutlining (ISE 3.0+): Code vouwen/ontvouwen in Script.
$psISE.Options.ShowOutlining = $false - Toon werkbalk (ISE 2.0+): Toon de ISE-werkbalk.
$psISE.Options.ShowToolBar = $true - Waarschuwing weergeven vóór opslaan bij uitvoering (ISE 2.0+): Waarschuwing vóór het opslaan tijdens het uitvoeren.
$psISE.Options.ShowWarningBeforeSavingOnRun = $true - ToonWaarschuwingVoorDubbeleBestanden (ISE 2.0+): Waarschuwing bij het openen van hetzelfde bestand in meerdere tabbladen.
$psISE.Options.ShowWarningForDuplicateFiles = $true - Tokenkleuren (ISE 2.0+): Token-kleurenwoordenboek voor IntelliSense in Script (kenmerk, opdracht, trefwoord, enz.).
$psISE.Options.TokenColors = 'green' $psISE.Options.TokenColors = 'magenta' - GebruikEnterToSelectInConsolePaneIntellisense (ISE 3.0+): Gebruik Enter om te selecteren in Console IntelliSense.
$psISE.Options.UseEnterToSelectInConsolePaneIntellisense = $false - GebruikEnterToSelectInScriptPaneIntellisense (ISE 3.0+): Gebruik Enter om te selecteren in Script IntelliSense.
$psISE.Options.UseEnterToSelectInConsolePaneIntellisense = $true - GebruikLokaleHelp (ISE 3.0+): F1 opent lokale of online help.
$psISE.Options.UseLocalHelp = $false $psISE.Options.UseLocalHelp = $true - VerboseBackgroundColor (ISE 2.0+): Uitgebreide tekstachtergrond.
$psISE.Options.VerboseBackgroundColor = '#0000FF' - VerboseForegroundColor (ISE 2.0+): Uitgebreide tekst op de voorgrond.
$psISE.Options.VerboseForegroundColor = 'yellow' - WaarschuwingAchtergrondkleur (ISE 2.0+): Waarschuwingstekst op de achtergrond.
$psISE.Options.WarningBackgroundColor = '#0000FF' - WaarschuwingVoorgrondkleur (ISE 2.0+): Close-up van de waarschuwingstekst.
$psISE.Options.WarningForegroundColor = 'yellow' - XmlTokenKleuren (ISE 3.0+): Token-kleurenwoordenboek voor XML-inhoud.
$psISE.Options.XmlTokenColors = 'green' $psISE.Options.XmlTokenColors = 'magenta' - Zoom (ISE 3.0+): Relatieve tekstgrootte (20–400; standaard 100).
$psISE.Options.Zoom = 200
U kunt ook een momentopname van de standaard ISE-configuratie bekijken. Het toont u lettertypen, kleuren en tokenwoordenboeken als standaard, handig ter vergelijking.
$psISE.Options.DefaultOptions
Kleuren wijzigen via de Windows-interface (CMD en PowerShell)
Als u liever niet aan de scripts wilt sleutelen, kunt u de kleuren ook in het venster zelf aanpassen. Klik met de rechtermuisknop op de titelbalk de CMD of PowerShell, kies Eigenschappen en open het tabblad Kleuren.
Achtergrond en vergrendelscherm instellen met PowerShell
Naast de consolekleuren is het mogelijk om de bureaubladachtergrond via een script in te stellen, zelfs verander de inlogachtergrond uit het script. Er zijn handleidingen voor Windows Server 2012 R2/2016/2019 en Windows 10/7 Ik laat zien hoe je dit vanuit PowerShell kunt doen, wat handig is voor automatisering.
In beheerde omgevingen (bijvoorbeeld met Intune) kunt u een script verpakken dat een afbeelding of een diavoorstelling uit een map (bijv. C:\\temp\\slideshowtest). Dit is een veelvoorkomend scenario en kan via distributie als applicatie worden geautomatiseerd.
Snelle berichten inkleuren met Write-Host
Voor snelle uitvoer kunt u met Write-Host de voorgrond en achtergrond direct inkleuren. Ideaal om waarschuwingen of fouten te benadrukken. in scripts zonder PSReadLine te openen.
Write-Host "Operación completada" -ForegroundColor Green
Write-Host "Atención" -ForegroundColor Yellow -BackgroundColor DarkBlue
Write-Host "Error" -ForegroundColor Red -BackgroundColor Black
De lijst met ondersteunde kleuren is uitgebreid (bijvoorbeeld Zwart, Donkerblauw, Donkergroen, Donkercyaan, Donkerrood, Donkermagenta, Donkergeel, Grijs, Donkergrijs, Blauw, Groen, Cyaan, Rood, Magenta, Geel, Wit) en biedt u een minimum aan visuele samenhang zonder verdere afhankelijkheden.
Praktische tips voor een bruikbaar palet
Ga niet alleen voor 'mooi'. Geef prioriteit aan leesbaarheid. Vermijd het combineren van verzadigde tinten op beide vlakken en controleer het contrast met een betrouwbare tool. Het doel is om je console urenlang comfortabel te houden.
Controleer ook de selectiekleur en de voorspellings-/IntelliSense-markering. Een selectie met goed contrast en een ListPredictionSelected die de tekst niet "opeet", maken een verschil in productiviteit.
Kleuren per project of per machine? Profielen bieden uitkomst.
Als u wisselt tussen apparaten of gebruikersprofielen, loont het om uw instellingen te centraliseren. Sla uw $ISETheme- en $PSStyle-instellingen op in uw profiel en versiebeheer van het bestand (bijvoorbeeld met Git) om ze gesynchroniseerd te houden.
Op gedeelde of multi-user computers kunt u overwegen om een splitsing aan te brengen in het profiel AlleGebruikers en het profiel Gebruikers. Zo scheid je het mondiale van het persoonlijke en voorkom verrassingen wanneer u van sessie verandert.
Snelle diagnose: Waarom ziet licht er slecht uit?
Houd er rekening mee dat het standaardpalet PSReadLine en $PSStyle is ontworpen voor donkere achtergronden. Bij een licht onderwerp veel lichte tinten op de voorgrond Ze blijven onopgemerkt. Controleer commentaar, string, trefwoord, lid en variabele, die vaak botsen bij het wissen.
Als het probleem de uitvoerkleur van native cmdlets is (bijvoorbeeld tabelkoppen), controleer dan $PSStyle.Opmaak.* en de kleuren die zijn gedefinieerd voor mappen, symbolische koppelingen, uitvoerbare bestanden en extensies in $PSStyle.FileInfo.
Gepassioneerd schrijver over de wereld van bytes en technologie in het algemeen. Ik deel mijn kennis graag door te schrijven, en dat is wat ik in deze blog ga doen: je de meest interessante dingen laten zien over gadgets, software, hardware, technologische trends en meer. Mijn doel is om u te helpen op een eenvoudige en onderhoudende manier door de digitale wereld te navigeren.