Windows PowerShell™ este un shell de linie de comandă care este împachetat cu cele mai recente sisteme de operare Windows®. Programul folosește o interfață de linie de comandă și un limbaj de scripting construit pe framework-ul Microsoft .NET™. Instrumentul este conceput pentru a permite utilizatorilor cu putere și administratorilor de sistem să efectueze funcții avansate, cum ar fi administrarea serverului, configurarea sistemului de operare sau a aplicațiilor software și alte sarcini, cum ar fi întreținerea computerului la distanță. Windows PowerShell™ înlocuiește shell-ul anterioară de linie de comandă al Microsoft, MS-DOS®, care necesita interpreții de comandă cmd.exe și command.com pentru a rula sistemul de operare. Mulți utilizatori Microsoft® PowerShell™ prezintă performanța și capacitatea de utilizare ca fiind superioare predecesorilor și concurenților săi.
Windows PowerShell™ a fost dezvoltat pentru prima dată în 2006 pentru sistemele de operare Windows Server® și XP, deși instrumentul nu a fost preinstalat sau împachetat cu acele sisteme. Microsoft a numit inițial proiectul Monad, dar l-a schimbat în MSH, apoi Microsoft® Command Shell înainte de a se stabili în cele din urmă pe numele PowerShell™ 1.0. Aplicația a fost implementată inițial ca pachet Release to Web (RTW) în noiembrie 2006. Microsoft® nu a preinstalat PowerShell™ cu Windows Vista®, dar ulterior a dezvoltat o versiune de PowerShell™ care era compatibilă cu Vista® și disponibilă pentru descărcare ca un pachet RTW. Sistemele de operare Windows 7® și Server® 2008 includ PowerShell™ ca componentă preinstalată.
Windows PowerShell™ folosește comenzi numite cmdlet-uri, care este prescurtare pentru command-lets. Aceste comenzi simple și logice urmează o convenție de denumire verb-substantiv care are scopul de a elimina incertitudinea cu privire la scopul fiecărui cmdlet. PowerShell™ este preconfigurat cu peste 100 de cmdlet-uri — mai multe comenzi încorporate decât orice alt shell. De fapt, unele dintre cmdleturile încorporate se bazează pe comenzi familiare din MS-DOS® și alte shell-uri de linie de comandă, cum ar fi shell-ul Unix®, Bash.
De exemplu, dacă un utilizator tasta „dir” și apasă pe butonul de întoarcere a carului în PowerShell™, programul va returna o listă de director, așa cum este cazul în MS-DOS®. De asemenea, tastând „pwd” și apăsând butonul de retur în PowerShell™ îi spune aplicației să afișeze directorul curent, ceea ce este valabil și în Unix®. Mai mult, PowerShell™ permite utilizatorilor să-și creeze propriile alias-uri pentru comenzile preferate, permițând în esență persoanelor să configureze și să utilizeze orice sintaxa de comandă dorită.
PowerShell™ este răspunsul Microsoft la o lume de experți în tehnologia informației și utilizatori avansați de computere care au considerat că MS-DOS® este slab și problematic și care au apreciat puterea instrumentelor de linie de comandă Unix®. Mulți experți sunt de acord că PowerShell™ este primul shell de linie de comandă Microsoft® care poate concura cu omologii săi Unix®. Principala diferență dintre shell-urile Unix® și PowerShell™ constă în utilizarea și manipularea obiectelor de către acesta din urmă, spre deosebire de text, și utilizarea acestuia a cadrului .NET™.