- La dimensione visibile dipende dal buffer, dalla finestra e dalla sorgente; regolare prima il buffer/la finestra, poi la sorgente.
- Utilizzare MODE CON e Proprietà per modifiche rapide o persistenti; il Registro consente di replicare le impostazioni.
- In SAC il buffer è 80x24, pagina con | di più e incolla con MAIUSC+INSER per evitare di perdere l'output.
- Windows 10 aggiunge il ridimensionamento tramite trascinamento, il riflusso del testo e l'opacità per lavorare in modo più confortevole.
Quando si lavora con la console in Windows, la regolazione dimensione del buffer dello schermo e il numero di linee nella finestra può fare la differenza tra una sessione fluida e un'esperienza insopportabile. Inoltre, negli ambienti di amministrazione remota (come l'accesso seriale con SAC in Macchine virtuali), sapere come ritagliare o ingrandire la console e come impaginare correttamente l'output è fondamentale per evitare di perdere informazioni.
In questa guida vi racconto, con un approccio diretto e pieno di comandi, come impostare tutto da CMD y PowerShell: dal momento che il controlli di progettazione di base e colori, tramite i comandi MODE e COLOR, alla persistenza tramite il Registro di sistema, ai miglioramenti della console in Windows 10 e all'utilizzo in scenari impegnativi come VM di Azure con SACVedrai anche in cosa consiste l'API della console di Windows per il dimensionamento di buffer/finestre e come si integra con Windows. terminal.
Cos'è il buffer dello schermo e come si relaziona alla finestra
Il buffer dello schermo è una griglia di celle di caratteri (larghezza x altezza) e ogni console ha una finestra associata che visualizza una porzione rettangolare di tale buffer. la finestra non può superare le dimensioni del buffer o ciò che lo schermo consente in base alla dimensione del carattere. Pertanto, se la finestra è più grande del buffer, alcune operazioni falliranno.
Le funzioni API di Windows aiutano a comprendere e regolare questi limiti: Ottieni informazioni sul buffer dello schermo della console restituisce la dimensione del buffer, la posizione della finestra e la dimensione massima possibile dato buffer/sorgente/schermo, mentre OttieniDimensioneFinestraConsolePiùGrande calcola la finestra massima ignorando la dimensione del buffer. Per ingrandire o rimpicciolire, utilizzare Imposta dimensione buffer schermo console (modifica la dimensione del buffer) e SetConsoleWindowInfo (ridimensiona o riposiziona la finestra) rispettando le restrizioni menzionate.
Regola la dimensione del buffer e il numero di righe in CMD
Per una rapida regolazione dalla console stessa, il comando MODALITÀ CON È il classico: definisci colonne (COLS) e righe (LINES). Un esempio tipico sarebbe quello di impostare una console compatta con 70 colonne e 9 righe: MODE CON cols=70 lines=9
Questo metodo influisce sul dimensione della finestra e del buffer in una sola opera teatrale.
Se preferisci un approccio persistente e granulare, usa Proprietà della console (cliccare con il tasto destro del mouse sul titolo > Proprietà). Nella scheda Opzioni, attivare Modifica rapida e inserimento per incollare e selezionare rapidamente il testo e impostare Cronologia comandi: Dimensione buffer su 999 e Numero di buffer su 5 (maggiore ritenzione della riga durante lo scorrimento). Nella scheda Layout, alzare il Altezza del buffer (ad esempio, 2500) e regolare le dimensioni e la posizione della finestra; se deselezioni l'opzione Lascia che il sistema posizioni la finestra, puoi impostare coordinate specifiche.
Per personalizzare la lettura e l'estetica, scegli il carattere e la dimensione nella scheda fonte, e definisce colori nella scheda Colori. Dalla riga di comando puoi anche cambiare i colori con COLOR
e un attributo esadecimale a due cifre (sfondo e testo). Ad esempio: COLOR 0E
utilizzare sfondo nero e testo giallo; è utile per il monitoraggio delle console in ambienti bui.
Se si desidera che determinate impostazioni vengano mantenute e applicate per impostazione predefinita, Windows le salva nel Registro di sistema. Le chiavi più rilevanti sono: HKCU\Console\
(predefinito) e HKCU\Console\%SystemRoot%_system32_cmd.exe
(specifico di cmd.exe). È possibile esportare/importare valori come QuickEdit, Dimensione buffer schermo, DimensioneFinestra, Numero di buffer cronologici, PosizioneFinestra o Dimensione buffer cronologia con un file .REG per replicare le impostazioni senza riconfigurazione manuale.
Inoltre, l'avvio CMD supporta un Autorun per visualizzare messaggi o eseguire azioni ogni volta che viene aperto. In HKCU\Software\Microsoft\Command Processor
crea (o modifica) il valore della stringa Autorun
e assegnarlo ad esempio: ECHO "Bienvenido a la consola"
È ideale per gli ambienti di supporto in cui è richiesto un saluto o un messaggio iniziale.
Un trucco utile è quello di impacchettare le impostazioni in un partitaCombina dimensioni e colore con qualcosa del genere: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables...
In questo modo si ottengono finestre con dimensioni e colori predefiniti, perfette per gli script che non richiedono l'intero schermo.
PowerShell e dimensionamento: cosa puoi e cosa non puoi fare
PowerShell utilizza lo stesso motore della console (conhost.exe) rispetto a CMD, quindi eredita gran parte dello stesso comportamento: la dimensione visibile dipende dal buffer, dalla finestra e dalla dimensione del carattere. Se si modificano questi parametri tramite Proprietà, si otterrà lo stesso effetto in PowerShell.
Negli scenari di console seriale con SAC (Special Administration Console), la restrizione è maggiore: l'ambiente impone un buffer ridotto di 80×24 e senza scorrere indietro, quindi è consigliabile impaginare con | more
nei comandi lunghi. Per avanzare, usa la barra spaziatrice (pagina) o Invio (riga). Anche le scorciatoie per incollare cambiano: sulla console seriale, incolla va con MAIUSC+INS.
Se di solito chiedi una scorciatoia da tastiera per cambiare la dimensione del carattere Al volo, il percorso generale è ancora Proprietà > Sorgente. Sulle console moderne, è possibile ridimensionare la finestra trascinandone gli angoli e l'output viene regolato con l'opzione Output del testo regolato in base alle dimensioni, ma nel materiale che trattiamo qui non è documentata alcuna scorciatoia da tastiera universale.
L'utilizzo di colori, altezza del buffer o linee da PowerShell funziona altrettanto bene che da CMD, perché sono proprietà della console. Per automatizzare le console con parametri visivi ricorrenti, crea profili o script che si applicano MODE y COLORE all'inizio della sessione oppure configurare le Proprietà della finestra associate a collegamenti specifici.
Utilizzo di SAC su Windows e Azure: limiti di dimensione e trucchi di paging
Nelle VM Windows (incluso Azure), SAC è presente da Windows Server 2003 ma è disabilitato. Si basa su sacdrv.sys, il servizio sacsvr e il processo sacsess.exeQuando si apre una finestra di comando in SAC, sacsess.exe
lanza cmd.exe
all'interno del sistema operativo in esecuzione e da lì puoi avviare PowerShell, gestire i servizi o toccare rete e firewall.
A causa di buffer limitato 80x24 senza scorrimento, ricordati di aggiungere | more
a qualsiasi comando dettagliato. Per incollare nella console seriale: MAIUSC+INSNegli script lunghi, spesso è meglio scrivere i comandi in un editor locale e incollarli in SAC per evitare problemi di buffer corti.
Comandi di amministrazione utili in CMD all'interno di SAC: abilita RDP con reg add
en HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
e nel percorso della policy, se applicabile; gestire il servizio Desktop remoto con sc
(sc query termservice
, sc config
, sc start
/stop
); e toccare la rete con netsh
(mostra interfacce, forza DHCP con netsh interface ip set address ... source=dhcp
).
Per la diagnostica della connettività, ping y telnet (dopo aver abilitato il client con DISM) sono utili per un test rapido; nel moderno PowerShell è meglio Test-NetConnection
(porte incluse). Il risoluzione DNS È verificato con nslookup
o Resolve-DnsName
Se sospetti che il firewall sia attivo, puoi elencare regole specifiche o disabilitare temporaneamente i profili con netsh advfirewall set allprofiles state off
e riattivare con ... on
(non interrompere MPSSVC o BFE altrimenti perderai completamente la connettività).
Per gli account locali, in CMD: net user /add
, net localgroup Administrators <usuario> /add
, net user <usuario> /active:yes
In PowerShell: New-LocalUser
, Add-LocalGroupMember
y Enable-LocalUser
(nelle versioni precedenti utilizza WMI). È utile conoscere il SID dell'account amministratore integrato (S-1-5-21-*-500).
Registro eventi: in CMD, wevtutil qe
consente di filtrare per livello, provider e intervallo di tempo con XPath (esempi con EventID=11
o audit 4624); in PowerShell, Get-WinEvent
con -FilterXPath
y -MaxEvents
Per te è lo stesso con una formattazione migliore. Per elencare il software, wmic product
Funziona (attenzione all'impatto); in PowerShell puoi anche controllare WMI e disinstallare con .Uninstall()
.
Integrità del sistema: sfc /scannow
y dism /online /cleanup-image /scanhealth
rilevare danni; permessi NTFS con icacls
per esportare/salvare/ripristinare gli ACL e assumerne la proprietà con takeown
se necessario. Pulizia di dispositivi PNP inesistenti con RUNDLL32.exe ... pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean
. Forza l'aggiornamento della policy con gpupdate /force
. Ricomincia con shutdown /r /t 0
(o Restart-Computer
con -Force
).
Ridimensiona per pixel vs. per colonne/righe
Un malinteso comune è voler riparare una finestra per 600 × 125 pixel esatto da PowerShell. La console classica è progettata per colonne/linee e l'equivalenza ai pixel dipende da carattere e la sua dimensioneQuindi il modo affidabile è: 1) scegliere carattere/dimensione (Proprietà > Carattere), 2) regolare il buffer/finestra con MODE CON
oppure dalla scheda Layout e 3) regolare la posizione/finestra se necessario con Proprietà.
Se hai bisogno di precisione programmatica, l'API nativa offre Imposta dimensione buffer schermo console y SetConsoleWindowInfoTuttavia, è necessario tenere presente che la finestra non può superare il buffer e che la dimensione massima effettiva dipende dallo schermo e dalla sorgente; OttieniDimensioneFinestraConsolePiùGrande ti fornisce quel limite superiore senza considerare il buffer.
In Windows 10, puoi trascinare l'angolo per ridimensionare la finestra e con l'opzione di Output del testo regolato in base alle dimensioni Se abilitato, il testo viene mandato a capo per impedire lo scorrimento orizzontale nelle finestre più piccole. Questo comportamento è un vero toccasana quando si riorganizzano le console sui monitor NOC o schermi da parete.
Miglioramenti della console in Windows 10 che aiutano con le dimensioni
La console acquisisce scorciatoie Ctrl (copia/incolla come in applicazioni moderno), selezione estesa del testo da tastiera e supporto per selezione wrap tra le righe come faresti in un editor. Inoltre, c'è il filtraggio dei contenuti appunti per convertire virgolette curve o altri caratteri non supportati, evitando problemi durante l'incollaggio.
Un'altra novità: puoi ridimensionare trascinando la finestra; quando si esegue questa operazione, il sistema aggiorna automaticamente il buffer e le dimensioni della finestra. Per coloro che modificano molto, attivare Testo di output adattato quando ridimensionato È fondamentale perché riavvolge le linee lunghe riducendone le dimensioni.
Per motivi estetici o per sovrapposizione con altre app, la scheda Colori integra il controllo di opacità tra il 30% e il 100%. Al 30% la finestra diventa praticamente traslucida; è utile per tenere sotto controllo i registri senza coprire completamente gli strumenti di supporto.
Se vedi la scatola di Utilizzo della console legacy abilitato, deselezionalo per abilitare queste funzionalità moderne. Molte sono disattivate quando la modalità legacy è attiva, quindi spegnilo e riaprire la console.
Terminale Windows: backup delle impostazioni e dei profili
Il terminale Windows centralizza i profili CMD/PowerShell/WSL e le loro impostazioni risiedono in un settings.json en %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState
Prima di toccare le regolazioni fini, fare di riserva copiando il file in un percorso sicuro (ad esempio, D:\Backup
) con: copy /y /v %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json D:\Backup
.
Questo JSON può essere modificato con Blocco note; lì puoi appuntare dimensioni dei caratteri, temi, opacità, colori e comportamenti di scorrimento per ogni profilo, offrendoti un modo coerente per aprire le console con l'aspetto e le dimensioni che desideri senza dover fare ogni volta clic manuali.
Operazioni di rete e firewall: comandi chiave per cui sarai grato sulle piccole console
Con le console di piccole dimensioni è meglio usare comandi concisi: Test-NetConnection (PowerShell) riprendere il ping e il test delle porte con -Port
; in CMD, installa TelnetClient
con DISM e porte di prova con telnet host 80
Per DNS: Resolve-DnsName
(PS) o nslookup
(CMD). È più efficace nelle finestre con poche righe e combinato con | more
nel SAC.
Firewall: elenca le regole per porta con Get-NetFirewallPortFilter
in PowerShell (o nell'oggetto COM hnetcfg.fwpolicy2
sui sistemi più vecchi) e controlla i profili con Set-NetFirewallProfile
Nel CMD, netsh advfirewall
è ancora valido. Evitare di fermarsi MPSSVC o BFE, altrimenti manderai in tilt l'intera rete.
Servizi, registrazione e sistema: elementi essenziali per sessioni remote
Per i Servizi Desktop remoto, PowerShell con WMI (Get-WmiObject Win32_Service
) ti mostra il conto casa, tipo di Boot, percorso e PID, nonché lo stato. Modificare il tipo di avvio con Set-Service
e dipendenze da HKLM\SYSTEM\CurrentControlSet\Services\TermService
. Avvia/arresta con Start-Service
/Stop-Service
.
Nelle situazioni del Registro di sistema, PowerShell gestisce le chiavi con Get-ItemProperty
y Set-ItemProperty
per controllare o abilitare RDP. Se un criterio di gruppo impone valori in HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services
, ricorda che la tua modifica potrebbe essere sovrascritta dal prossimo aggiornamento della policy.
Diagnostica di sistema: systeminfo
y wmic os
Ti forniscono versione, build, data di installazione, fuso orario e ultimo avvio. Per modalità sicura, bcdedit /enum
e filtra per avvio sicuro. Riavvio immediato con shutdown /r /t 0
o Restart-Computer
se sei già in PowerShell.
Paginazione, copia, spostamento e ricerca di contenuti: produttività di PowerShell
Le console piccole ti costringono a digitare velocemente. Ottieni-contenuto con parametri quali -TotalCount
o -Tail
ti aiuta a vedere l'inizio o la fine dei file lunghi. Per concatenare senza loop, usa gc *.txt -Exclude granben.txt > granben.txt
, evitando di includere il file di output nell'input stesso.
La canalizzazione (|
) moltiplica la produttività: gc archivo.txt | measure -Line -Word -Character
conta righe, parole e caratteri. Seleziona-stringa (sls
) cerca modelli in più file con caratteri jolly e fornisce il contesto senza aprirli singolarmente.
Metadati dell'istanza in Azure per convalidare la connettività
Su una macchina virtuale di Azure, controlla Servizio metadati istanza Dal guest, testare la connettività ai servizi di Azure. In PowerShell: $im = Invoke-RestMethod -Headers @{'metadata'='true'} -Uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -Method GET
poi $im | ConvertTo-Json
da vedere Tipo di sistema operativo, Dimensione macchina virtuale, vmId, Nome, resourceGroupName o IP privati/pubblici. Se questa risposta, l'ospite arriva all'host Azure.
Ricorda che le NIC di Azure devono utilizzare DHCP all'interno del sistema operativo guest, anche con un IP statico assegnato in Azure. Impostare l'adattatore con Set-NetIPInterface -DHCP Enabled
o con WMI nelle versioni precedenti.
Per controllare gli adattatori: Get-NetAdapter
(o WMI) visualizza lo stato, la descrizione e MACAbilita con Enable-NetAdapter
o il cosiddetto WMI .Enable()
Queste query sono compatte e adatte alle console short-line.
Infine, ricorda che nelle sessioni SAC con buffer limitato, la rimozione PSReadLine con Remove-Module PSReadLine
Evita caratteri aggiunti indesiderati quando incolli blocchi di testo; controlla prima con Get-Module PSReadLine
.
Con tutto quanto sopra puoi dimensionare correttamente la tua console (per buffer e finestra), mantenere l'output leggibile ed eseguire l'amministrazione e la diagnostica sia localmente che in remoto con SAC, senza perdere dati.
Gestire le dimensioni del buffer, della finestra e del flusso di output non è solo una questione di praticità: consente di lavorare più velocemente, posizionare le finestre su monitor di grandi dimensioni e tenere sotto controllo le sessioni di supporto anche quando l'ambiente impone limiti 80x24. MODALITÀ CON, Proprietà, Registro, API della console, miglioramenti di Windows 10 e la disciplina della paginazione con | more
, hai tutto ciò che serve affinché CMD e PowerShell si adattino a te e non il contrario.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.