GT spiega: differenza tra prompt dei comandi e Powershell
Varie / / November 29, 2021
Il sistema operativo Windows viene fornito con diverse app e strumenti di utilità per aiutare gli utenti a completare diverse attività. Insieme alle app ci sono strumenti come Prompt dei comandi (CMD) e PowerShell, che vengono spesso utilizzati per la risoluzione dei problemi, l'esecuzione di comandi batch e la manutenzione del sistema. Ma qual è la differenza tra Prompt dei comandi e PowerShell?
In superficie, puoi usare entrambi gli strumenti e molti comandi sono eseguibili su entrambi. Ma ci sono sottili differenze tra questi due. In termini più semplici, PowerShell è il fratello maggiore di CMD e può essere utilizzato per eseguire la maggior parte dei comandi CMD e altri ancora.
Cominciamo.
1. Che cos'è il prompt dei comandi (CMD)
Windows 95 e 98 erano dotati di Command.com, noto anche come MS-DOS. Gli utenti possono interagire direttamente con il sistema operativo utilizzando comandi basati su testo. Microsoft ha quindi rilasciato CMD (Prompt dei comandi) con Windows NT che era migliore delle precedenti iterazioni.
CMD viene utilizzato principalmente per eseguire comandi batch, interagire con il file system (Comandi DIR) e persino risolvere errori relativi al sistema che altrimenti sarebbero difficili da risolvere.
2. Che cos'è PowerShell?
PowerShell è stato rilasciato per la prima volta nel 2006 per Windows XP SP2. Il potenziato PowerShell 2.0 con Windows 7 ha portato ancora più funzionalità ed era retrocompatibile con molti comandi CMD. Windows 10 lo ha come strumento da riga di comando predefinito. Il motivo per cui PowerShell è decollato è stata la sua capacità di lavorare con il linguaggio di programmazione C# che si integra anche con .NET Framework.
Ciò ha consentito agli utenti di scrivere script personalizzati che possono essere utilizzati per eseguire una serie di comandi in remoto. Puoi anche usarlo per automatizzare alcune attività amministrative, offrendo maggiore flessibilità rispetto a un umile CMD. È un ambiente di scripting che agisce come più di una semplice shell. Inoltre, ha uno sfondo blu invece del nero per qualche ragione.
3. Differenza tra CMD e PowerShell
CMD viene utilizzato principalmente dagli amministratori di sistema per elaborare file batch, risolvere alcuni errori comuni e correggere file di sistema corrotti.
PowerShell porta le cose al livello successivo consentendo agli amministratori di controllare un'intera rete e tutti i sistemi su quella rete. A differenza di CMD che può solo interpretare ed eseguire comandi Batch, PowerShell può anche interpretare ed eseguire comandi Batch e PowerShell. Che cos'è?
È qui che arrivano i "cmdlet". Sono un gruppo di comandi che gli utenti possono eseguire con un singolo comando. Quel gruppo di comandi è chiamato script. In CMD, devi aspettare che il comando precedente sia completamente eseguito prima di dare il successivo. PowerShell consente di risparmiare tempo e consente l'automazione utilizzando gli script in questo modo.
Mentre CMD può funzionare solo con il testo, PowerShell ha preso una foglia dalle righe di comando di Linux e può funzionare anche con le pipe. Le pipe consentono a un cmdlet di condividere anche dati complessi (output) con un altro cmdlet (input). Ciò consente agli amministratori di manipolare e trasferire dati tra programmi diversi e persino computer in rete, eseguendo cmdlet in una sequenza definita.
Non commettere errori, anche se PowerShell è potente, non è da nessuna parte potente come alcuni strumenti da riga di comando supportati nelle distribuzioni basate su Linux.
4. Quando usare
Il CMD è ampiamente utilizzato per navigare nel file di sistema e nella struttura delle cartelle, gestirlo e interagire con esso, modificare le proprietà e risolvere gli errori di Windows. In GT, chiediamo spesso ai nostri lettori di eseguire comandi come SFC (System File Checker) e DISM (Deployment Image Servicing and Management) per verificare l'integrità dei file di sistema e ripararli.
Gli amministratori di sistema preferiscono PowerShell per la gestione dei dati, soprattutto su una rete di computer. Inoltre, poiché esegui praticamente tutti i comandi di CMD in PowerShell, offre un vantaggio rispetto al prompt dei comandi. Inoltre, è possibile eseguire cmdlet che sono insiemi di comandi (script) per eseguire funzioni amministrative.
La possibilità di toccare il repository di codice di .NET Framework apre più possibilità per gli utenti di PowerShell. Puoi estrarre informazioni sui processi in esecuzione (cmdlet get-process), comunicazione di rete, eseguire attività amministrative relative al database e persino algoritmi crittografici. Più adatto a programmatori e amministratori.
Poi arriva la logica condizionale in cui è possibile pianificare attività da eseguire in base al verificarsi di un evento, ad esempio. Altri esempi di logica condizionale includono parametri come if, else, for, when e switch. Un semplice esempio può essere un cmdlet che chiuderà tutte le app in background se La RAM è piena o viola un certo livello in termini di utilizzo. Pulito, eh?
Sebbene questi siano semplici esempi, gli amministratori di rete utilizzano PowerShell per molte attività complesse. Non sai come creare il tuo primo cmdlet? Non preoccuparti, perché PowerShell gode di una vasta comunità di appassionati che hanno condiviso i loro cmdlet che puoi usare.
Mossa di potere
Microsoft TechNet ha una grande raccolta di guide, esempi e collegamenti a repository di codice (come GitHub). Un posto eccellente per iniziare il tuo viaggio. Recentemente, il nuovo App Terminale di Windows per Windows 10 è stato rilasciato che ha confuso molti utenti. Tuttavia, Microsoft ha ha chiarito quel CMD è qui resta. Ciò ha molto senso vedere quanti utenti utilizzano ancora CMD come strumento da riga di comando predefinito.
Prossimo: Alla ricerca di alcuni suggerimenti e trucchi CMD? Fare clic sul collegamento in basso per trovare un elenco curato di 11 fantastici comandi CMD.