Skriptiranje skupnih datoteka seže sve do vremena kada je MS-DOS objavljen 1981. kao operativni sustav za osobna računala IBM. U osnovi je to bio klon Digital Research CP / M, jednog od prvih operativnih sustava za mikroračunalo. Microsoft ga je natjerao da radi na IBM osobnim računalima koji djeluju i kao jezgra i kao ljuska, kao i neke dodatne značajke drugih školjki. Microsoft je s vremenom objavio nekoliko verzija DOS-a, nakon čega je na više načina proširio batch datoteke. Zatim dolazi Windows koji se brzo razvio iz aplikacije u punopravni operativni sustav. Microsoft je u svoj Windows NT liniju operativnih sustava koji su koristili iste naredbe Command.com, ali s dodatnim značajkama, uključio tumač naredbenog retka koji se zove "Command Prompt" (ili "cmd")..
Za razliku od starijih verzija koje bi dopustile pokretanje .BAT datoteke u MS-DOS retku, ovaj poboljšani 32-bitni interpretator naredbenog retka učinio je skupni jezik korisnijim zbog mnogih poboljšanja i dodatnih značajki. Međutim, tumač naredbenog retka nije bio u mogućnosti pružiti dosljednost jer ih nije bilo moguće koristiti za automatizaciju višestrukih funkcionalnosti grafičkog korisničkog sučelja. Nije bio dovoljno moćan da udovolji korisnicima napajanja. Tako je Microsoft počeo raditi na novom pristupu upravljanju naredbenim linijama i konačno 2002. objavio novi poboljšani CLI pod nazivom "Monad". Uspio je prevladati nedostatke svog prethodnika. Do 2005. godine Microsoft je već objavio tri verzije Monade. Godine 2006, ime je formalno promijenjeno u "Windows PowerShell" čime su se oprostili od skriptiranja datoteke stare škole..
Command Prompt ili cmd je tumač naredbenog retka za Microsoft Windows operativne sustave koji se koriste za automatizaciju različitih zadataka povezanih sa sustavom pomoću skripti i batch datoteka. Često se naziva cmd.exe, to je Windows program koji sustav izdaje naredbe poput naredbi za upravljanje datotekama, poput kopiranja, lijepljenja i brisanja. Emulira većinu sposobnosti naredbenog retka dostupnih u MS-DOS-u preko sučelja naredbene linije. Prvobitno je objavljen kao interpretator naredbenog retka (CLI) za obitelj Windows NT operativnih sustava, a razvio ga je Therese Stowell. CMD ima ugrađene naredbe za izvršavanje različitih zadataka, od kojih se većina može izvršiti kao administrator. Komandnom retku može se pristupiti putem prečaca koji se nalazi u izborniku Start ili putem naredbe cmd Run. Dostupan je u gotovo svim verzijama prozora.
PowerShell je naprednija verzija cmd-a koja se koristi za pokretanje eksternih programa poput ping-a ili kopiranja i automatizacije mnogih različitih zadataka administracije sustava koji nisu dostupni sa cmd.exe. Prilično je sličan cmd-u, osim što je moćniji i uopšte koristi različite naredbe. To je više od školjke; to je skriptno okruženje dizajnirano posebno za administratore sustava da izvršavaju administrativne zadatke na više operativnih sustava. To je alat naredbenog retka utemeljen na zadacima i skriptni jezik izgrađen na .Net okviru. Poziva vrlo bogat skup naredbi u kontekstu skripti za automatizaciju nazvanih "cmdleti" što omogućuje administraciju u Windows sustavima. Također su jednostavni za upotrebu s standardiziranom sintaksom što ih čini jednostavnim za stvaranje moćnih skripti. To je mnogo moćniji interpreter naredbenog retka od naredbenog retka koji može interpretirati i naredbe Batch i PowerShell naredbe..
I cmd i PowerShell snažni su alati naredbenog retka koji se koriste za automatizaciju zadataka administracije sustava pisanjem skripte / batch datoteke. Međutim, cmd ima ograničene administrativne mogućnosti u odnosu na PowerShell, koji je, s druge strane, naprednija i modernija implementacija školjki s dodatnim značajkama i poboljšanjima. PowerShell je posebno dizajniran za administratore sustava za kontrolu i automatizaciju administracije Windows sustava.
PowerShell najčešće koriste administratori sustava za upravljanje mrežom kao i sustavi i aplikacije koje su dio te mreže. Učinkovito može interpretirati i Batch naredbe i PowerShell naredbe, dok cmd može interpretirati samo Batch naredbe. Command Prompt omogućuje sredstvo interakcije s računalnim programom uz pomoć naredbi koje izdaju korisnici.
Za razliku od naredbenog retka, koji može cijepiti samo struje teksta, izlaz generiran iz cmdleta više je od puke struje teksta; oni cijevi predmete između cmdleta što im omogućuje razmjenu složenijih podataka između cmdleta.
PowerShell koristi mnogo moćnije funkcije nazvane "cmdlets", što predstavlja bogat skup naredbi za izvršavanje snažnijih upita s boljim izlazom nego što se nalazi u Windows naredbenom retku. Funkcije PowerShell-a mnogo su složenije ali su snažnije od tradicionalnog naredbenog retka i vrlo se dobro mogu koristiti sa standardiziranom sintaksom.
PowerShell je više nego samo školjka; To je moćno skriptno okruženje temeljeno na .Net okviru koji se može koristiti za lakše i efikasnije pokretanje složenih skripti za administraciju sustava Windows nego što bi to činio sa Command Promptom. Osim toga, PowerShell uključuje nekoliko poboljšanja i dodatnih značajki koje proširuju njegovu upotrebu što na kraju poboljšava njegovu upotrebljivost.
PowerShell i Command Prompt su alati naredbenog retka utemeljeni na zadacima koji se koriste za brzo automatiziranje zadataka administracije sustava, ali postoje značajne razlike između njih u pogledu funkcionalnosti i upotrebljivosti. CMD je osnovna ljuska naredbenog retka koja se uvodi s Windows NT obitelji operativnih sustava s istom standardiziranom sintaksom i funkcionalnošću kao DOS. PowerShell je, s druge strane, školjka naredbenog retka utemeljena na zadatku i skriptni jezik temeljen na .Net okviru koji se koristi za automatizaciju batch obrade i stvaranje alata za upravljanje sistemom. Za razliku od cmd, za obavljanje zadataka administracije sustava koristi bogati skup naredbi zvanih cmdlets.