Ma in cosa differisce esattamente il familiare prompt dei comandi dal nuovo framework di Microsoft? In parole povere, PowerShell ha tutte le caratteristiche di cmd.exe, svolge meglio molte funzioni e compie altri processi che finora non erano possibili su Windows.
In linea di principio, PowerShell fornisce la stessa gamma di comandi di cmd.exe: fondamentalmente può essere utilizzato allo stesso modo del prompt dei comandi, disponendo di una sufficiente conoscenza dei comandi standard. Tuttavia, permette anche l'accesso più approfondito a processi interni di Windows, come il registro di sistema e la Windows Management Instrumentation (WMI), che prima non erano accessibili utilizzando cmd.exe. Inoltre, la riga di comando di Windows PowerShell segue la logica chiara di una struttura di comando e di una sintassi coerenti e in questo senso è creata in maniera più sensata rispetto a cmd.exe.
Un’altra caratteristica che contraddistingue particolarmente Windows PowerShell: a differenza del prompt dei comandi e dei sistemi Unix-like, il programma funziona completamente basato su oggetti invece di restituire i risultati dei comandi solo testualmente (strings). Ogni oggetto ha proprietà (properties) e metodi (methods) che specificano come può essere usato. Ad esempio, l'oggetto processo di Windows rappresenta proprietà quali nomi e ID di processo e metodi per la pausa e la terminazione dei processi.
Poiché i risultati dei comandi vengono sempre emessi come oggetti .NET, PowerShell può essere usato tramite pipeline per eseguire compiti molto più complessi di cmd.exe. Questo funziona utilizzando l'output di un oggetto nella pipe come input per l'oggetto successivo. Ad esempio, è possibile filtrare grandi e complesse quantità di dati per le estensioni dei file e formattarli in un elenco chiaro.
Windows PowerShell è più di una semplice riga di comando; è un ambiente di scripting completo e potente. È possibile scrivere i propri comandi o combinare più comandi in script complessi che semplificano le attività di gestione del sistema. Il remoting consente inoltre di eseguire script su un numero indefinito di sistemi contemporaneamente, indipendentemente dalla posizione, e quindi di gestirli, configurarli, rilevarli e ripararli.
Questa varietà di opzioni e funzioni rivela anche qual è il principale target di Windows PowerShell, cioè professionisti IT e amministratori di sistema che hanno una conoscenza approfondita della gestione delle shell e sono disposti a imparare Windows PowerShell per ottenere una maggiore efficienza. Per gli utenti che lavorano principalmente con l'interfaccia grafica di Windows e utilizzano solo sporadicamente il prompt dei comandi, PowerShell non offre alcun particolare valore aggiunto, soprattutto perché i tempi di familiarizzazione sono piuttosto lunghi.
Di seguito riassumiamo nuovamente in maniera chiara i vantaggi e gli svantaggi di Windows PowerShell rispetto al prompt dei comandi: