Windows PowerShell™ è una shell della riga di comando fornita con i più recenti sistemi operativi Windows®. Il programma utilizza un’interfaccia a riga di comando e un linguaggio di scripting basato sul framework .NET™ di Microsoft. Lo strumento è progettato per consentire agli utenti esperti e agli amministratori di sistema di eseguire funzioni avanzate come l’amministrazione del server, la configurazione del sistema operativo o dell’applicazione software e altre attività come la manutenzione remota del computer. Windows PowerShell™ sostituisce la precedente shell della riga di comando di Microsoft, MS-DOS®, che richiedeva gli interpreti dei comandi cmd.exe e command.com per eseguire il sistema operativo. Molti utenti di Microsoft® PowerShell™ ne proclamano le prestazioni e l’usabilità come superiori ai suoi predecessori e concorrenti.
Windows PowerShell™ è stato sviluppato per la prima volta nel 2006 per i sistemi operativi Windows Server® e XP, sebbene lo strumento non fosse preinstallato o impacchettato con tali sistemi. Inizialmente Microsoft ha chiamato il progetto Monad, ma l’ha cambiato in MSH, quindi in Microsoft® Command Shell prima di stabilirsi definitivamente sul nome PowerShell™ 1.0. L’applicazione è stata originariamente distribuita come pacchetto Release to Web (RTW) nel novembre 2006. Microsoft® non ha preinstallato PowerShell™ con Windows Vista®, ma in seguito ha sviluppato una versione di PowerShell™ compatibile con Vista® e disponibile per il download come un pacchetto RTW. I sistemi operativi Windows 7® e Server® 2008 includono PowerShell™ come componente preinstallato.
Windows PowerShell™ utilizza comandi chiamati cmdlet, che è l’abbreviazione di command-let. Questi semplici comandi logici seguono una convenzione di denominazione verbo-sostantivo che ha lo scopo di rimuovere l’incertezza sullo scopo di ogni cmdlet. PowerShell™ è preconfigurato con oltre 100 cmdlet, più comandi integrati rispetto a qualsiasi altra shell. In effetti, alcuni dei cmdlet integrati sono basati su comandi familiari di MS-DOS® e altre shell della riga di comando come la shell Unix®, Bash.
Ad esempio, se un utente digita “dir” e preme il ritorno a capo in PowerShell™, il programma restituirà un elenco di directory, come nel caso di MS-DOS®. Allo stesso modo, digitando “pwd” e premendo il ritorno a capo in PowerShell™ si dice all’applicazione di visualizzare la directory corrente, il che è vero anche in Unix®. Inoltre, PowerShell™ consente agli utenti di creare i propri alias per i comandi preferiti, consentendo essenzialmente alle persone di impostare e utilizzare qualsiasi sintassi di comando desiderata.
PowerShell™ è la risposta di Microsoft a un mondo di esperti di tecnologia dell’informazione e utenti avanzati di computer che hanno trovato MS-DOS® debole e problematico e che hanno apprezzato la potenza degli strumenti a riga di comando di Unix®. Molti esperti concordano sul fatto che PowerShell™ sia la prima shell a riga di comando Microsoft® in grado di competere con le sue controparti Unix®. La principale differenza tra le shell Unix® e PowerShell™ è l’uso e la manipolazione degli oggetti da parte di quest’ultimo, al contrario del solo testo, e l’utilizzo del framework .NET™.