Eräajotiedostojen skriptaus menee aina taaksepäin, jolloin MS-DOS julkaistiin vuonna 1981 IBM: n henkilökohtaisten tietokoneiden käyttöjärjestelmänä. Se oli pohjimmiltaan Digital Researchin CP / M-klooni, yksi ensimmäisistä mikrotietokoneiden käyttöjärjestelmistä. Microsoft sai sen toimimaan IBM-tietokoneissa, jotka toimivat sekä ytimenä että kuorena yhdessä muiden kuorien joidenkin lisäominaisuuksien kanssa. Microsoft julkaisi useita DOS-versioita ajan myötä laajentaen eräajotiedostoja monin tavoin. Sitten tulee Windows, joka kehittyi nopeasti sovelluksesta täydelliseksi käyttöjärjestelmäksi. Microsoft sisällytti komentorivitulkijan nimeltä “Command Prompt” (tai “cmd”) Windows NT -käyttöjärjestelmän riviin, joka käytti periaatteessa samoja Command.com-komentoja, mutta lisäominaisuuksilla.
Päinvastoin kuin aiemmissa versioissa, jotka sallivat vain .BAT-tiedoston ajamisen MS-DOS-kehotteessa, tämä parannettu 32-bittinen komentorivitulkki teki eräkielen hyödyllisemmäksi monien parannusten ja lisäominaisuuksien vuoksi. Komentorivitulkki ei kuitenkaan pystynyt tarjoamaan johdonmukaisuutta, koska niitä ei voitu käyttää automatisoimaan graafisen käyttöliittymän monipuolisia toimintoja. Se ei ollut tarpeeksi tehokas tyydyttämään virrankäyttäjiä. Joten Microsoft aloitti uuden lähestymistavan komentorivien hallintaan ja julkaisi lopulta uuden parannetun CLI: n, nimeltään “Monad”, vuonna 2002. Se onnistui korjaamaan edeltäjänsä puutteet. Vuoteen 2005 mennessä Microsoft on jo julkaissut kolme Monad-versiota. Vuonna 2006 nimi muutettiin muodollisesti nimellä “Windows PowerShell”, joka jätti hyvästit vanhan koulun eräajotiedostojen komentosarjoille.
Command Prompt tai cmd on Microsoft Windows -käyttöjärjestelmien komentorivitulkki, jota käytetään automatisoimaan erilaisia järjestelmiin liittyviä tehtäviä komentosarjojen ja eräajotiedostojen avulla. Sitä kutsutaan usein cmd.exe, se on Windows-ohjelma, joka antaa järjestelmälle komentoja, kuten tiedostonhallintakomentoja, kuten kopiointi, liittäminen ja poistaminen. Se emuloi suurimman osan komentorivin kyvyistä, jotka ovat käytettävissä MS-DOS: issa komentoriviliittymän kautta. Se julkaistiin alun perin komentorivitulkkina (CLI) Windows NT -käyttöjärjestelmäperheelle, ja sen on kehittänyt Therese Stowell. CMD: llä on sisäänrakennetut komennot suorittaa erilaisia tehtäviä, joista suurin osa voidaan suorittaa järjestelmänvalvojana. Komentokehotteeseen pääsee Käynnistä-valikossa olevan pikakuvakkeen kautta tai cmd Suorita -komennon kautta. Se on saatavana melkein kaikissa Windows-versioissa.
PowerShell on edistyneempi versio cmd: stä, jota käytetään ulkoisten ohjelmien, kuten ping- tai kopiointiohjelmien, suorittamiseen ja automatisointiin monia erilaisia järjestelmänhallintatehtäviä, joita ei voi käyttää osoitteessa cmd.exe. Se on melko samanlainen kuin cmd, paitsi että se on tehokkaampi ja käyttää erilaisia komentoja kokonaan. Se on enemmän kuin pelkkä kuori; se on skriptiympäristö, joka on suunniteltu erityisesti järjestelmänvalvojille suorittamaan hallinnollisia tehtäviä useissa käyttöjärjestelmissä. Se on .Net-kehykseen rakennettu tehtäväpohjainen komentorivityökalu ja skriptikieli. Se kutsuu erittäin rikas käskyjoukko automaatioskriptien yhteydessä nimeltään ”cmdlet”, joka mahdollistaa hallinnan Windows-järjestelmissä. Niitä on myös helppo käyttää standardisoidun syntaksin kanssa, mikä tekee niistä helppoa luoda tehokkaita skriptejä. Se on paljon tehokkaampi komentorivitulkki kuin komentokehote, joka osaa tulkita sekä eräkäskyjä että PowerShell-komentoja.
Sekä cmd että PowerShell ovat tehokkaita komentorivityökaluja, joita käytetään järjestelmänhallintatehtävien automatisoimiseen kirjoittamalla skripti / erätiedosto. Kuitenkin cmd: llä on rajalliset hallintaominaisuudet verrattuna PowerShelliin, joka on toisaalta edistyneempi ja nykyaikaisempi kuori-toteutus, jossa on lisäominaisuuksia ja parannuksia. PowerShell on erityisesti suunniteltu järjestelmänvalvojille hallitsemaan ja automatisoimaan Windows-järjestelmien hallintaa.
Järjestelmänvalvojat käyttävät enimmäkseen PowerShell-verkkoa verkon sekä siihen verkkoon kuuluvien järjestelmien ja sovellusten hallintaan. Se pystyy tulkitsemaan tehokkaasti sekä eräkäsky- että PowerShell-komennot, kun taas cmd voi tulkita vain eräkäskyjä. Command Prompt tarjoaa välineen vuorovaikutukseen tietokoneohjelman kanssa käyttäjän antamien komentojen avulla.
Toisin kuin komentokehotteessa, joka pystyy siirtämään vain tekstiviestejä, cmdletistä tuotettu tulos on enemmän kuin vain tekstivirta; ne putkivat kohteita cmdlet-tiedostojen välillä, mikä antaa heille mahdollisuuden jakaa monimutkaisempia tietoja cmdlet-tiedostojen välillä.
PowerShell käyttää paljon tehokkaampia toimintoja, nimeltään ”cmdlet”, jotka muodostavat rikkaan komentokokonaisuuden suorittaaksesi tehokkaampia kyselyjä, joilla on parempi lähtö kuin Windows-komentorivillä. PowerShellin toiminnot ovat paljon monimutkaisempia, mutta tehokkaita kuin perinteinen komentokehote, ja niitä voidaan käyttää hyvin standardisoidun syntaksin kanssa.
PowerShell on enemmän kuin pelkkä kuori; se on tehokas .Net-kehykseen perustuva komentosarjaympäristö, jota voidaan käyttää monimutkaisten komentosarjojen suorittamiseen Windows-järjestelmän hallintaa varten helpommin ja tehokkaammin kuin se olisi komentorivillä. Lisäksi PowerShell sisältää useita parannuksia ja lisäominaisuuksia, jotka laajentavat sen käyttöä ja parantavat lopulta sen käytettävyyttä.
Sekä PowerShell että Command Prompt ovat tehtäväpohjaisia komentorivityökaluja, joita käytetään järjestelmänhallintatoimintojen nopeaan automatisointiin, mutta niiden välillä on merkittäviä eroja toiminnallisuudessa ja käytettävyydessä. CMD on peruskäskyn komentorivi, joka otetaan käyttöön Windows NT -käyttöjärjestelmäperheessä, jolla on sama standardisoitu syntaksi ja toiminnallisuus kuin DOS: lla. Toisaalta PowerShell on tehtäväpohjainen komentorivikuori ja komentosarjojen kieli, joka perustuu .Net-kehykseen, jota käytetään automatisoimaan eräkäsittely ja luomaan järjestelmänhallintatyökaluja. Toisin kuin cmd, se käyttää runsaasti komentoja, nimeltään cmdlet, suorittaakseen järjestelmän hallintotehtäviä.