Skriptnost paketnih datotek sega vse do časa, ko je bil MS-DOS leta 1981 izdan kot operacijski sistem za osebne računalnike IBM. V bistvu je bil klon digitalnega raziskovanja CP / M, enega prvih operacijskih sistemov za mikroračunalnik. Microsoft je omogočil, da deluje na IBM-ovih računalnikih, ki delujejo kot jedro in lupina, skupaj z nekaterimi dodatnimi funkcijami drugih lupin. Microsoft je sčasoma izdal več različic DOS-a, ki so nato na več načinov razširile paketne datoteke. Potem je tu Windows, ki se je hitro razvil od aplikacije do operacijskega sistema s polno zaščito. Microsoft je v svojo vrstico Windows NT operacijskih sistemov vključil tolmača ukazne vrstice, imenovane „Command Prompt“ (ali „cmd“), ki je v osnovi uporabljal iste ukaze Command.com, vendar z dodatnimi funkcijami.
V nasprotju s prejšnjimi različicami, ki bi omogočale zagon datoteke .BAT v pozivu MS-DOS, je ta izboljšani 32-bitni tolmač ukazne vrstice zaradi številnih izboljšav in dodatnih funkcij naredil paket uporabnejši. Vendar tolmač ukazne vrstice ni mogel zagotoviti doslednosti, ker jih ni bilo mogoče uporabiti za avtomatizacijo večplastnih funkcionalnosti grafičnega uporabniškega vmesnika. Ni bil dovolj močan, da bi zadovoljil uporabnike energije. Tako je Microsoft začel delati na novem pristopu k upravljanju ukazne vrstice in leta 2002 končno izdal nov izboljšani CLI z imenom "Monad". Uspelo mu je odpraviti pomanjkljivosti predhodnika. Do leta 2005 je Microsoft že izdal tri različice Monade. Leta 2006 je bilo ime uradno spremenjeno v „Windows PowerShell“, ki se je poslovil od skriptnih datotek stare šole..
Ukazni poziv ali cmd je tolmač ukazne vrstice za operacijske sisteme Microsoft Windows, ki se uporablja za avtomatizacijo različnih sistemskih opravil z uporabo skriptov in paketnih datotek. Pogosto imenovan cmd.exe, gre za program Windows, ki sistemu ukaze, kot so ukazi za upravljanje datotek, kot so kopiranje, lepljenje in brisanje. Emulira večino sposobnosti ukazne vrstice, ki so na voljo v MS-DOS prek vmesnika ukazne vrstice. Prvotno je bil izdan kot tolmač ukazne vrstice (CLI) za družino operacijskih sistemov Windows NT, razvil pa ga je Therese Stowell. CMD ima vgrajene ukaze za izvajanje različnih nalog, ki jih je večina mogoče izvesti kot skrbnik. Do ukaznega poziva lahko dostopate prek bližnjice v meniju Start ali preko ukaza cmd Run. Na voljo je v skoraj vseh različicah Windows.
PowerShell je naprednejša različica cmd-ja, ki se uporablja za zagon zunanjih programov, kot je ping ali kopiranje in avtomatizacija številnih različnih nalog sistemske administracije, ki niso dostopne s cmd.exe. Je precej podoben cmd, le da je zmogljivejši in v celoti uporablja različne ukaze. To je več kot le lupina; je skriptno okolje, zasnovano posebej za sistemske skrbnike za izvajanje administrativnih nalog v več operacijskih sistemih. To je orodje ukazne vrstice in jezik skript, ki temelji na .Net okviru. Pokliče zelo bogat nabor ukazov v okviru skriptov za avtomatizacijo, imenovanih "cmdlets", ki omogoča upravljanje v sistemih Windows. Prav tako so enostavni za uporabo s standardiziranim sintakso, kar omogoča enostavno ustvarjanje močnih skriptov. To je veliko močnejši tolmač ukazne vrstice kot ukazni poziv, ki lahko razlaga tako ukaze Batch kot PowerShell ukaze.
Tako cmd kot PowerShell sta močna orodja ukazne vrstice, ki se uporabljajo za avtomatizacijo nalog sistemske administracije s pisanjem datoteke skripta / serije. Vendar ima cmd omejene upravne zmogljivosti v primerjavi s PowerShellom, ki je po drugi strani naprednejša in sodobnejša aplikacija lupine z dodatnimi funkcijami in izboljšavami. PowerShell je posebej zasnovan za sistemske skrbnike za nadzor in avtomatizacijo upravljanja sistemov Windows.
PowerShell večinoma uporabljajo sistemski skrbniki za upravljanje omrežja, pa tudi sistemov in aplikacij, ki so del tega omrežja. Učinkovito lahko interpretira tako Batch ukaz kot PowerShell ukaze, medtem ko cmd lahko razlaga samo Batch ukaze. Ukazni poziv ponuja način interakcije z računalniškim programom s pomočjo ukazov, ki jih izda uporabnik.
Za razliko od ukaznega poziva, ki lahko prenaša le tokove besedila, je izhod, ustvarjen iz cmdleta, več kot le tok besedila; predmete pošiljajo med cmdlete, kar jim omogoča izmenjavo kompleksnejših podatkov med cmdleti.
PowerShell uporablja veliko močnejše funkcije, imenovane "cmdlets", ki predstavlja bogat nabor ukazov za izvajanje močnejših poizvedb z boljšim rezultatom, kot jih najdemo v ukazni vrstici Windows. Funkcije PowerShell-a so veliko bolj zapletene, vendar zmogljivejše od tradicionalnih ukazov in jih je zelo dobro uporabiti s standardizirano skladnjo.
PowerShell je več kot le lupina; je zmogljivo skriptno okolje, ki temelji na .Net okviru, ki ga je mogoče uporabiti za lažji in učinkovitejši zagon kompleksnih skriptov za sistemsko upravljanje sistema Windows, kot bi bilo v ukaznem pozivu. Poleg tega PowerShell vključuje več izboljšav in dodatnih funkcij, ki razširjajo njegovo uporabo, kar sčasoma izboljša njegovo uporabnost.
PowerShell in Command Prompt sta orodji ukazne vrstice na podlagi opravil, ki se uporabljata za hitro avtomatizacijo nalog sistemske administracije, vendar sta med funkcionalnima in uporabnostma velike razlike. CMD je osnovna lupina ukazne vrstice, ki se uvaja z družino operacijskih sistemov Windows NT z enako standardizirano sintakso in funkcionalnostjo kot DOS. PowerShell je na drugi strani lupina ukazne vrstice in jezik skript, ki temelji na nalogah in temelji na .Net okviru, ki se uporablja za avtomatizacijo obdelave paketov in ustvarjanje orodij za upravljanje sistema. Za razliko od cmd za naloge sistemske administracije uporablja bogat nabor ukazov, imenovan cmdlets.