Buffer- en regelgroottes aanpassen in PowerShell en CMD

Laatste update: 03/10/2025
Auteur: Isaac
  • De zichtbare grootte is afhankelijk van de buffer, het venster en de bron. Pas eerst de buffer/het venster aan en vervolgens de bron.
  • Gebruik MODE CON en Eigenschappen voor snelle of blijvende wijzigingen. Met het register kunt u instellingen repliceren.
  • In SAC is de buffer 80x24, pagina met | more en plakken met SHIFT+INSERT om geen output te verliezen.
  • Windows 10 biedt de mogelijkheid om de tekstgrootte te slepen, de tekst opnieuw te laten doorlopen en de dekking te verbeteren, zodat u comfortabeler kunt werken.

Buffer- en regelomloop in CMD en PowerShell

Bij het werken met de console in Windows is het aanpassen van de schermbuffergrootte en het aantal regels in het venster kan het verschil maken tussen een soepele sessie en een ondraaglijke ervaring. Bovendien, in omgevingen met extern beheer (zoals seriële toegang met SAC in virtuele machines) is het van cruciaal belang dat u weet hoe u de console kunt bijsnijden of zoomen en hoe u de uitvoer correct kunt pagineren om te voorkomen dat er informatie verloren gaat.

In deze gids vertel ik je, met een directe aanpak en vol commando's, hoe je alles instelt vanaf CMD y PowerShell: sinds de basisontwerpcontroles en kleuren, via de MODE- en COLOR-opdrachten, tot persistentie via het register, consoleverbeteringen in Windows 10 en gebruik in veeleisende scenario's zoals Azure VM met SACU leert ook wat de Windows Console API voor het bepalen van de grootte van buffers/vensters inhoudt en hoe dit allemaal samenhangt met Windows. terminal.

Wat is de schermbuffer en hoe verhoudt deze zich tot het venster?

De schermbuffer is een raster van tekencellen (breedte x hoogte) en elke console heeft een bijbehorend venster dat een rechthoekig gedeelte van die buffer weergeeft. venster kan niet groter zijn dan De afmetingen van de buffer of wat het scherm toelaat op basis van de lettergrootte. Als het venster groter is dan de buffer, zullen bepaalde bewerkingen dus mislukken.

Met de Windows API-functies kunt u deze limieten begrijpen en aanpassen: GetConsoleScreenBufferInfo retourneert buffergrootte, vensterpositie en maximaal mogelijke grootte gegeven buffer/bron/scherm, terwijl Haal de grootste consolevenstergrootte op berekent het maximale venster, rekening houdend met de buffergrootte. Om in of uit te zoomen, gebruikt u SetConsoleScreenBufferSize (verandert de buffergrootte) en SetConsoleWindowInfo (het formaat of de positie van het venster wijzigen) met inachtneming van de genoemde beperkingen.

Configuratie van het consolevenster

Buffergrootte en aantal regels aanpassen in CMD

Voor snelle aanpassing vanaf de console zelf is de commando MODE CON Het is de klassieke manier: definieer kolommen (COLS) en rijen (LINES). Een typisch voorbeeld is het opzetten van een compacte console met 70 kolommen en 9 rijen: MODE CON cols=70 lines=9Deze methode beïnvloedt de venster- en buffergrootte in één toneelstuk.

Als u de voorkeur geeft aan een aanhoudende en gedetailleerde aanpak, gebruik dan de Console-eigenschappen (klik met de rechtermuisknop op de titel > Eigenschappen). Activeer op het tabblad Opties Snelle aanpassing e invoeging om snel tekst te plakken en te selecteren, en stel Command History: Buffer Size in op 999 en Number of Buffers op 5 (meer regelbehoud tijdens het scrollen). Op het tabblad Layout, verhoog de Bufferhoogte (bijvoorbeeld 2500) en pas de grootte en positie van het venster aan. Als u het selectievakje Venster door het systeem laten positioneren uitschakelt, kunt u specifieke coördinaten instellen.

Om het lezen en de esthetiek aan te passen, kiest u het lettertype en de grootte in het tabblad Bron, en definieer Colores op het tabblad Kleuren. Vanaf de opdrachtregel kunt u ook kleuren wijzigen met COLOR en een tweecijferig hexadecimaal kenmerk (achtergrond en tekst). Bijvoorbeeld: COLOR 0E gebruik zwarte achtergrond en gele tekst; het is nuttig voor het monitoren van consoles in donkere omgevingen.

Als u wilt dat bepaalde instellingen behouden blijven en standaard worden toegepast, slaat Windows deze op in het register. De meest relevante sleutels: HKCU\Console\ (standaard) en HKCU\Console\%SystemRoot%_system32_cmd.exe (specifiek voor cmd.exe). U kunt waarden exporteren/importeren zoals QuickEdit, Schermbuffergrootte, Venstergrootte, AantalGeschiedenisBuffers, Vensterpositie o GeschiedenisBufferSize met een .REG om uw instellingen te repliceren zonder handmatige herconfiguratie.

Bovendien ondersteunt CMD startup een Autorun om berichten weer te geven of acties uit te voeren elke keer dat het wordt geopend. In HKCU\Software\Microsoft\Command Processor maakt (of bewerkt) de tekenreekswaarde Autorun en wijs het bijvoorbeeld toe: ECHO "Bienvenido a la consola"Het is ideaal voor ondersteuningsomgevingen waar een begroeting of eerste prompt vereist is.

  Oplossing: Windows Home kon geen stuurprogramma voor uw communityadapter vinden

Een handige truc is om instellingen in een partijCombineer maat en kleur met zoiets als dit: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables...Hiermee krijgt u vensters met vooraf gedefinieerde afmetingen en kleuren, ideaal voor scripts die niet het hele scherm nodig hebben.

Instellingen met MODE en COLOR

PowerShell en grootte: wat u wel en niet kunt doen

PowerShell gebruikt hetzelfde console-engine (conhost.exe) dan CMD, dus het erft grotendeels hetzelfde gedrag: de zichtbare grootte is afhankelijk van de buffer, het venster en de lettergrootte. Als u deze parameters via Eigenschappen aanpast, ziet u hetzelfde effect in PowerShell.

In seriële consolescenario's met SAC (Special Administration Console) is de beperking groter: de omgeving legt een verminderde buffer van 80×24 en zonder terug te scrollen, dus het is raadzaam om te pagineren met | more in lange commando's. Om verder te gaan, gebruik je de spatiebalk (pagina) of Enter (regel). Sneltoetsen voor plakken veranderen ook: op de seriële console gaat plakken met SHIFT+INSERT.

Als u gewoonlijk om een ​​sneltoets vraagt ​​voor de lettergrootte wijzigen Tijdens het vliegen is het algemene pad nog steeds Eigenschappen > Bron. Op moderne consoles kun je het vensterformaat aanpassen door hoeken te verslepen, en de uitvoer wordt aangepast met de optie om Tekstuitvoer aangepast bij formaatwijziging, maar er is geen universele sneltoets gedocumenteerd in het materiaal dat we hier behandelen.

Het gebruik van kleuren, bufferhoogte of lijnen vanuit PowerShell werkt net zo goed als vanuit CMD, omdat het console-eigenschappen zijn. Om consoles met terugkerende visuele parameters te automatiseren, maakt u profielen of scripts die van toepassing zijn MODE y COLOR aan het begin van de sessie, of configureer de venstereigenschappen die aan specifieke snelkoppelingen zijn vastgemaakt.

SAC gebruiken op Windows en Azure: groottebeperkingen en pagineringstrucs

Op Windows VM's (inclusief Azure) is SAC aanwezig sinds Windows Server 2003, maar is uitgeschakeld. Het is afhankelijk van sacdrv.sys, de dienst sacsvr en het proces sacsess.exeBij het openen van een opdrachtvenster in SAC, sacsess.exe speer cmd.exe binnen het actieve besturingssysteem. Van daaruit kunt u PowerShell starten, services beheren of op netwerk en firewall tikken.

Vanwege beperkte buffer 80x24 zonder scroll, vergeet niet om toe te voegen | more voor elke uitgebreide opdracht. Om te plakken in de seriële console: SHIFT+INSERTBij lange scripts is het vaak beter om opdrachten in een lokale editor te schrijven en deze vervolgens in SAC te plakken. Zo voorkomt u problemen met een korte buffer.

Nuttige beheeropdrachten in CMD binnen SAC: RDP inschakelen met reg add en HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server en in het beleidspad indien van toepassing; beheer de Remote Desktop-service met sc (sc query termservice, sc config, sc start/stop); en raak het net aan met netsh (interfaces weergeven, DHCP forceren met netsh interface ip set address ... source=dhcp).

Voor connectiviteitsdiagnostiek, ping y telnet (nadat de client met DISM is ingeschakeld) zijn goed voor een snelle test; in moderne PowerShell is het beter Test-NetConnection (inclusief poorten). De DNS-resolutie Het is geverifieerd met nslookup o Resolve-DnsNameAls u de firewall verdenkt, kunt u specifieke regels opsommen of tijdelijk profielen uitschakelen met netsh advfirewall set allprofiles state off en opnieuw activeren met ... on (stop MPSSVC of BFE niet, anders verliest u volledig de connectiviteit).

Voor lokale accounts, in CMD: net user /add, net localgroup Administrators <usuario> /add, net user <usuario> /active:yesIn PowerShell: New-LocalUser, Add-LocalGroupMember y Enable-LocalUser (in eerdere versies wordt WMI gebruikt). Het is handig om de SID van het ingebouwde beheerdersaccount te kennen (S-1-5-21-*-500).

  Ontdek hoe u kunt oplossen dat de fout Urlmon.dll ontbreekt of niet is ontdekt

Gebeurtenislogboek: In CMD, wevtutil qe Hiermee kunt u filteren op niveau, provider en tijdsinterval met XPath (voorbeelden met EventID=11 of audit 4624); in PowerShell, Get-WinEvent met -FilterXPath y -MaxEvents Met een betere opmaak is het voor jou hetzelfde. Om software te vermelden, wmic product Het werkt (let op de impact); in PowerShell kun je ook WMI controleren en verwijderen met .Uninstall().

Systeemintegriteit: sfc /scannow y dism /online /cleanup-image /scanhealth schade detecteren; vergunningen NTFS met icacls om ACL's te exporteren/opslaan/herstellen en er eigenaarschap over te nemen takeown indien nodig. Niet-bestaande PNP-apparaten reinigen met RUNDLL32.exe ... pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean. Forceer beleidsupdate met gpupdate /force. Opnieuw beginnen met shutdown /r /t 0 (o Restart-Computer met -Force).

Gebruik van SAC en extern beheer

Formaat wijzigen per pixel versus per kolom/rij

Een veelvoorkomend misverstand is dat men een raam wil repareren om 600 × 125 pixels exact vanuit PowerShell. De klassieke console is ontworpen met kolommen/lijnen en de equivalentie met pixels hangt af van de lettertype en de grootte ervanDe betrouwbare manier is dus: 1) kies het lettertype/de grootte (Eigenschappen > Lettertype), 2) pas de buffer/het venster aan met MODE CON of via het tabblad Indeling en 3) pas indien nodig de positie/het venster aan met Eigenschappen.

Als u programmatische precisie nodig hebt, biedt de native API SetConsoleScreenBufferSize y SetConsoleWindowInfoHoud er echter rekening mee dat het venster de buffer niet mag overschrijden en dat de werkelijke maximale grootte afhankelijk is van het scherm en de bron; Haal de grootste consolevenstergrootte op geeft u die bovengrens zonder rekening te houden met de buffer.

In Windows 10 kunt u de hoek slepen om het vensterformaat aan te passen, en met de optie om Tekstuitvoer aangepast bij formaatwijziging Indien ingeschakeld, wordt tekst afgebroken om horizontaal scrollen in kleinere vensters te voorkomen. Dit gedrag is een uitkomst bij het herschikken van consoles op NOC-monitoren of wandschermen.

Consoleverbeteringen in Windows 10 die helpen met de grootte

De console krijgt snelkoppelingen Ctrl (kopiëren/plakken zoals in apps modern), uitgebreide toetsenbordtekstselectie en ondersteuning voor wrap selectie tussen de regels door, zoals je dat in een editor zou doen. Daarnaast is er contentfiltering. klembord om krulvormige aanhalingstekens of andere niet-ondersteunde tekens te converteren, zodat u problemen bij het plakken vermijdt.

Nog een nieuwigheid: je kunt formaat wijzigen door te slepen het venster; wanneer u dit doet, werkt het systeem automatisch de buffer- en vensterafmetingen bij. Voor degenen die veel bewerken, activeer Uitvoertekst aangepast bij formaatwijziging Dit is belangrijk omdat het lange lijnen opnieuw samenvouwt wanneer de grootte wordt verkleind.

Voor esthetiek of overlap met andere apps, het tabblad kleuren integreert de controle van ondoorzichtigheid tussen 30% en 100%. Bij 30% wordt het venster praktisch doorschijnend; het is nuttig voor toezicht houden op logs zonder de ondersteunende hulpmiddelen volledig te bestrijken.

Als je de doos ziet van De oude console gebruiken Als u deze moderne functies wilt inschakelen, schakelt u het selectievakje uit. Veel functies zijn grijs terwijl de legacy-modus is ingeschakeld, dus zet het uit en open de console opnieuw.

Windows Terminal: instellingen en profielen back-uppen

Windows Terminal centraliseert CMD/PowerShell/WSL-profielen en hun instellingen live in een settings.json en %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState. Voordat u fijne aanpassingen uitvoert, moet u: backup het bestand kopiëren naar een veilig pad (bijvoorbeeld D:\Backup) met: copy /y /v %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json D:\Backup.

Deze JSON kan worden bewerkt met Kladblok; daar kunt u vastpinnen lettergroottes, thema's, dekking, kleuren en scrollgedrag voor elk profiel. Zo krijgt u een consistente manier om consoles te openen met het gewenste uiterlijk en formaat, zonder dat u telkens handmatig hoeft te klikken.

Netwerk- en firewallbewerkingen: belangrijke opdrachten waar u dankbaar voor zult zijn op kleine consoles

Bij kleine consoles is het het beste om beknopte commando's te gebruiken: Test-NetVerbinding (PowerShell) hervat ping- en poorttesten met -Port; in CMD, installeren TelnetClient met DISM en testpoorten met telnet host 80Voor DNS: Resolve-DnsName (PS) of nslookup (CMD). Het is het meest effectief in vensters met weinig lijnen en gecombineerd met | more in SAC.

  De juiste manier om zinnen uit te wisselen met emoji's in iPhone-berichten

Firewall: lijst regels op poort met Get-NetFirewallPortFilter in PowerShell (of het COM-object hnetcfg.fwpolicy2 op oudere systemen) en besturingsprofielen met Set-NetFirewallProfile. In CMD, netsh advfirewall is nog steeds geldig. Vermijd stoppen MPSSVC of BFE, anders leg je het hele netwerk plat.

Services, logging en systeem: essentiële zaken voor externe sessies

Voor externe bureaubladservices, PowerShell met WMI (Get-WmiObject Win32_Service) laat je de thuisrekening, soort van Boot, pad en PID, evenals de status. Wijzig het opstarttype met Set-Service en afhankelijkheden van HKLM\SYSTEM\CurrentControlSet\Services\TermService. Start/stop met Start-Service/Stop-Service.

In registersituaties verwerkt PowerShell sleutels met Get-ItemProperty y Set-ItemProperty om RDP te controleren of in te schakelen. Als een groepsbeleid waarden afdwingt in HKLM\Software\Policies\Microsoft\Windows NT\Terminal ServicesHoud er rekening mee dat uw wijziging mogelijk wordt overschreven door de volgende beleidsupdate.

Systeemdiagnose: systeminfo y wmic os Ze geven je de versie, build, installatiedatum, tijdzone en laatste keer opstarten. veilige modus, bcdedit /enum en filter op safeboot. Onmiddellijke herstart met shutdown /r /t 0 o Restart-Computer als u zich al in PowerShell bevindt.

Pagineren, kopiëren, verplaatsen en zoeken naar inhoud: PowerShell-productiviteit

Kleine consoles dwingen je om snel te typen. Inhoud krijgen met parameters zoals -TotalCount o -Tail helpt je het begin of einde van lange bestanden te zien. Om te concatenaten zonder te loopen, gebruik je gc *.txt -Exclude granben.txt > granben.txt, waarbij wordt vermeden dat het uitvoerbestand in de invoer zelf wordt opgenomen.

De channeling (|) vermenigvuldigt de productiviteit: gc archivo.txt | measure -Line -Word -Character telt regels, woorden en karakters. Selecteer-String (sls) zoekt met jokers naar patronen in meerdere bestanden en geeft u context zonder dat u de bestanden afzonderlijk hoeft te openen.

Instantiemetagegevens in Azure om connectiviteit te valideren

Controleer op een Azure VM de Instantie-metagegevensservice Test de connectiviteit met Azure-services vanuit de gast. In PowerShell: $im = Invoke-RestMethod -Headers @{'metadata'='true'} -Uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -Method GET y luego $im | ConvertTo-Json te zien osType, vmSize, vm-ID, naam, resourceGroupName of privé/publieke IP's. Als dit antwoord, de gast komt aan bij de Azure-host.

Houd er rekening mee dat Azure NIC's moeten gebruiken DHCP binnen het gastbesturingssysteem, zelfs met een statisch IP-adres toegewezen in Azure. Stel de adapter in met Set-NetIPInterface -DHCP Enabled of met WMI in oudere versies.

Om adapters te controleren: Get-NetAdapter (of WMI) geeft de status, beschrijving en MAC-adres. Inschakelen met Enable-NetAdapter of de zogenaamde WMI .Enable()Deze query's zijn compact en geschikt voor korte consoles.

Houd er ten slotte rekening mee dat bij SAC-sessies met een beperkte buffer het verwijderen van PSReadLine met Remove-Module PSReadLine Vermijd ongewenste toegevoegde tekens bij het plakken van tekstblokken; controleer dit eerst met Get-Module PSReadLine.

Met al het bovenstaande kunt u uw console op de juiste grootte instellen (qua buffer en venster), de uitvoer leesbaar houden en zowel lokaal als op afstand beheer en diagnose uitvoeren met SAC. zonder gegevensverlies.

Het beheersen van buffer-, venster- en uitvoerstreamgroottes draait niet alleen om gemak: het zorgt ervoor dat u sneller kunt werken, vensters op grote monitoren kunt positioneren en ondersteuningssessies onder controle kunt houden, zelfs wanneer de omgeving 80x24-limieten oplegt. MODE CON, Eigenschappen, Register, Console API, Windows 10 verbeteringen en de discipline van paginering met | more, heb je alles zodat CMD en PowerShell zich aan jou aanpassen en niet andersom.