Cmd.exe contro PowerShell su Windows: un riferimento pratico
Microsoft Windows 10 Finestre Vindovs 7 Eroe / / March 16, 2020
Ultimo aggiornamento il

Riga di comando o Powershell su Windows? Ecco uno di entrambi, i pro e i contro di ciascuno e alcuni comandi chiave che puoi usare.
Clic, clic, clic... sempre con il clic! Se si desidera un modo più rapido per eseguire molte operazioni in Windows, è necessario conoscere le interfacce della riga di comando (CLI) CMD.exe e PowerShell. Ma quale dovresti usare? Diamo un'occhiata a entrambi, ai loro punti di forza e di debolezza e ad alcuni comandi chiave che è possibile utilizzare più e più volte.
CMD è anche noto come Shell dei comandi. In effetti, le persone più spesso si riferiscono ad esso solo come "comando". È uno strumento all'interno di Windows che consente agli utenti di eseguire attività digitando lettere e parole. Per i lettori più esperti, è possibile ricordarlo come comandi MS-DOS. Viene da MS-DOS MICROSspesso Disk Operating System. Tali comandi sono contenuti in un file chiamato command.com, nascosto dentro Windows. Scoprirai anche che alcuni comandi nella shell dei comandi invocano piccoli programmi. Apri Esplora risorse e vai a
Se conosci i diversi comandi e come usarli, spesso è un modo molto più veloce per eseguire le operazioni. Ma fa attenzione! È anche uno strumento potente che può causare gravi problemi in Windows se commetti un errore o non sai cosa stai facendo.
PowerShell è un'utilità della riga di comando, ma anche un intero linguaggio di scripting basato sulla piattaforma .NET di Microsoft. Ha tutta la potenza e le capacità di CMD e molto altro. PowerShell ti consente di interagire con ogni aspetto di Windows e può anche interagire con un'ampia varietà di programmi e server Microsoft. Puoi lavorare con cose come Microsoft Office, Exchange Server e Microsoft SQL Server. Oltre a ciò, puoi interagire anche con database non Microsoft, come MySQL, DB2 di IBM e altro. Puoi persino creare i tuoi programmi con le GUI. È uno strumento estremamente potente che ora è anche open source e può essere utilizzato su computer Mac e Linux.
Questo viene fatto usando cmdlet, pronunciati come "commandlettes". Come suggerisce la parte "lascia" della parola, i cmdlet sono piccoli comandi. In CMD, i comandi sono programmi autonomi, poiché ti abbiamo mostrato che sono applicazioni eseguibili in Windows. I cmdlet sono più simili a blocchi. Ognuno fa una cosa specifica, ma possono essere messi insieme per creare un comando o uno script completo.
Qual è la differenza tra CMD e PowerShell?
Ci sono molte differenze tecniche tra loro e se vuoi puoi fare più ricerche su di esso. Ma ciò che è importante sapere è che PowerShell è molto meno limitato di CMD. Pensa a PowerShell come a quello che voleva essere CMD da grande. Se CMD è un multi-tool, PowerShell è l'intero garage pieno di strumenti.
Quando inizi a confrontare comandi e cmdlet, noterai anche che è più facile capire cosa potrebbe fare un cmdlet di PowerShell. Alcuni comandi sono criptici a meno che tu non li impari e li usi ripetutamente. Lo scopo di comandi come CHKDSK, RMDIR, e TRACERT non è così ovvio per la persona media. Ma i cmdlet seguono la convenzione di denominazione di verbo-nome. La prima parte indica a quale azione eseguirà il cmdlet e la seconda parte indica a che cosa eseguirà. Ad esempio, chiunque può dire che il cmdlet Ottenere aiuto ti aiuterà in qualche modo.
Perché dovrei usare CMD invece di PowerShell?
È una questione di scelta personale. In effetti, i comandi CMD possono essere eseguiti all'interno dell'ambiente PowerShell, quindi c'è molta sovrapposizione. A volte potresti voler semplicemente fare qualcosa di veramente semplice, come saltare in CMD e controllare l'indirizzo IP del tuo computer o eliminare forzatamente un file. Ma se è qualcosa che vuoi fare ripetutamente, è meglio scrivere uno script PowerShell. Ricorda la regola dell'automazione. Se devi fare qualcosa più di due volte, automatizzalo.
Come posso accedere a CMD e Powershell?
Il modo più semplice è fare clic nella barra di ricerca nel menu Start e iniziare a digitare cmd per la shell dei comandi o PowerShell per PowerShell. Ecco come si presenta cmd.

Per la shell dei comandi, la vedrai elencata come app Prompt dei comandi in Windows 10. Le versioni precedenti di Windows lo elencheranno come cmd.exe. L'apertura ti darà una finestra nera con testo bianco, come nell'immagine qui sotto. Vedi la linea C: \ Users \ Brian> La punta della freccia si chiama prompt dei comandi. Riceverai spesso istruzioni per l'uso di CMD che dicono "Digita questo al prompt dei comandi ..." Questo è il punto a cui si riferisce.

Tuttavia, potresti notare un paio di scelte per PowerShell. Uno è semplicemente l'app di Windows PowerShell e l'altro è Windows PowerShell Integrated Scripting Environment (ISE).

Se esegui solo un singolo comando o tre, l'app PowerShell è abbastanza buona. Solo per farti saltare la testa, puoi usare i comandi CMD in PowerShell, ma non puoi usare PowerShell in CMD. L'app PowerShell si presenta così all'apertura:

Comandi più comuni in CMD.exe
Utilizzare questi comandi al prompt dei comandi, premere Invio per usarli.
AIUTO- Elencherà i comandi più comuni
CD - Visualizza il nome o modifica la directory corrente.
CHDIR - Visualizza il nome o modifica la directory corrente.
CHKDSK - Controlla un disco e visualizza un rapporto sullo stato.
CLS - Cancella lo schermo. Comodo dopo aver eseguito un mucchio di comandi.
COPIA - Copia uno o più file in un'altra posizione.
DEL - Elimina uno o più file.
DIR - Visualizza un elenco di file e sottodirectory in una directory.
DISKPART - Visualizza o configura le proprietà della partizione del disco.
USCITA - Esce dal programma CMD.EXE (interprete dei comandi) .MKDIR Crea una directory.
DI PIÙ - Visualizza l'output di una schermata alla volta. Utile quando un comando restituisce molte informazioni e continua a scorrere.
MOSSA - Sposta uno o più file da una directory a un'altra directory.
RINOMINARE - Rinomina un file o file.
RMDIR - Rimuove una directory.
SYSTEMINFO - Visualizza le proprietà e la configurazione specifiche della macchina.
ELENCO DELLE ATTIVITÀ - Visualizza tutte le attività attualmente in esecuzione, inclusi i servizi.
TASKKILL - Uccidi o interrompi un processo o un'applicazione in esecuzione.
Cmdlet più comuni in PowerShell
Ottenere aiuto - Ti mostra aiuto per il cmdlet con cui stai lavorando. ex: Get-Help Get-Member spiega come utilizzare il cmdlet Get-Member.
Get-Member - Ti mostra cosa c'è dentro un elemento, come una directory o un array.
Get-Process - Ti mostra tutti i processi in esecuzione sul tuo computer in questo momento.
Get-Service - Ti mostra tutti i servizi sul tuo computer e il loro stato attuale.
Get-Item - Ti mostra informazioni su una cosa specifica. ex: Get-Item C: \ Users ti mostrerà cose sulla directory Users, come le autorizzazioni su di essa e quando è stata modificata l'ultima volta.
Get-ChildItem - Ti mostra tutte le cose dentro una cosa: es: Get-ChildItem C: \ Users ti mostrerà tutti i file e le cartelle immediatamente all'interno della directory Users.
Potrebbe non sembrare molto, ma se cambi il verbo su quei cmdlet hai un sacco di cmdlet con cui lavorare. Modificare Ottenere per Nuovo su Get-Item e puoi creare un nuovo oggetto. Ora cambiarlo in Rimuovere e puoi eliminare elementi. Modificare Get-Process per Stop-Process e puoi terminare un processo specifico. Quindi cambiarlo in Inizio e puoi iniziare un processo. Ti viene l'idea.
Parametro Bonus PowerShell
-Cosa succede se potrebbe essere il parametro più importante che tu abbia mai usato. Ti consente di eseguire un cmdlet senza modificare nulla. Fa letteralmente PowerShell eseguire uno scenario "What If" per darti un'idea di cosa accadrà quando esegui il cmdlet per davvero. Se sei mai preoccupato, potresti causare alcuni problemi in PowerShell, aggiungi sempre il parametro -WhatIf.
Dai un'occhiata all'elenco dei file nell'immagine qui sotto.

Supponiamo di voler rimuovere un mucchio di file con il cmdlet Rimuovi elemento cc_2017 *, ma non siamo esattamente sicuri di cosa accadrà. Metti il -Cosa succede se parametro alla fine, premi invio e lo scopriremo!

Ci dice che questo comando avrebbe cancellato tutti questi file. Se va bene, possiamo rimuovere -WhatIf dal cmdlet ed eliminare quei file. In caso contrario, è possibile modificare il cmdlet e testarlo di nuovo.
CMD o PowerShell?
Ora che ne sai di più su entrambi, sai che non è una o / o una domanda. Puoi usare entrambi, c'è un buon momento per usare l'uno o l'altro e a volte puoi persino usarli nello stesso script! Continua a saperne di più su ciascuno di essi e avrai davvero il controllo completo del tuo computer in breve tempo.