Batch-fil scripting går helt tilbage til det tidspunkt, hvor MS-DOS blev frigivet i 1981 som et operativsystem til IBM's personlige computere. Det var dybest set en klon af Digital Researchs CP / M, et af de allerførste operativsystemer til mikrocomputer. Microsoft fik det til at køre på IBM-pc'er, der fungerer både som kerne og shell sammen med nogle yderligere funktioner i andre skaller. Microsoft frigav adskillige versioner af DOS over tid og forlængede derefter batchfilerne på mange måder. Derefter kommer Windows, der hurtigt udviklede sig fra en applikation til et fuldt operativsystem. Microsoft inkluderede en kommandolinjetolk kaldet “Kommandoprompt” (eller “cmd”) i sin Windows NT-linje af operativsystemer, der stort set brugte de samme kommandoer på Command.com, men med yderligere funktioner.
I modsætning til de tidligere versioner, der kun ville tillade at køre en .BAT-fil i MS-DOS-prompten, gjorde denne forbedrede 32-bit kommandolinjetolk en række sprog mere nyttige på grund af de mange forbedringer og yderligere funktioner. Kommandolinjetolken kunne imidlertid ikke give konsistens, fordi de ikke kunne bruges til at automatisere multifacetterede funktionaliteter af den grafiske brugergrænseflade. Det var ikke kraftigt nok til at tilfredsstille strømbrugere. Så Microsoft begyndte at arbejde på en ny tilgang til kommandolinjestyring og frigav endelig en ny forbedret CLI kaldet “Monad” i 2002. Det formåede at komme over manglerne ved sin forgænger. I 2005 frigav Microsoft allerede tre versioner af Monad. I 2006 blev navnet formelt ændret til “Windows PowerShell”, der farvel til scripting af batch-filer til oldskolen.
Kommandoprompt eller cmd er kommandolinjetolk for Microsoft Windows-operativsystemer, der bruges til at automatisere forskellige systemrelaterede opgaver ved hjælp af scripts og batchfiler. Ofte benævnt cmd.exe, er det et windows-program, der udsteder kommandoer til systemet som filhåndteringskommandoer som kopi, indsæt og slet. Det emulerer de fleste af de kommandolinjefærdigheder, der er tilgængelige i MS-DOS, via en kommandolinjegrænseflade. Det blev oprindeligt frigivet som kommandolinjetolk (CLI) til Windows NT-familien af operativsystemer og blev udviklet af Therese Stowell. CMD har indbyggede kommandoer til at udføre forskellige opgaver, hvoraf de fleste kan udføres som administrator. Kommandoprompt kan nås via dens genvej, der findes i Start-menuen eller via kommandoen cmd Run. Det fås i næsten alle versioner af windows.
PowerShell er en mere avanceret version af cmd, der bruges til at køre eksterne programmer som f.eks. Ping eller kopiering og automatisering af mange forskellige systemadministrationsopgaver, som ikke er tilgængelige fra cmd.exe. Det ligner cmd, bortset fra at det er mere kraftfuldt og bruger helt forskellige kommandoer. Det er mere end bare en skal; det er et scriptingsmiljø designet specifikt til systemadministratorer til at udføre administrative opgaver på flere operativsystemer. Det er et opgavebaseret kommandolinjeværktøj og scriptingsprog bygget på .Net-rammen. Det påkalder et meget rigt sæt kommandoer inden for rammerne af automatiseringsskripts kaldet “cmdlets”, som muliggør administration i windows-systemer. De er også nemme at bruge med standardiseret syntaks, hvilket gør dem nemme at oprette kraftfulde scripts. Det er en meget kraftfuld kommandolinjetolk end Command Prompt, som kan fortolke både batch-kommandoer og PowerShell-kommandoer.
Både cmd og PowerShell er kraftfulde kommandolinjeværktøjer, der bruges til at automatisere systemadministrationsopgaver ved at skrive en script / batch-fil. Imidlertid har cmd begrænsede administrationsfunktioner sammenlignet med PowerShell, der på den anden side er en mere avanceret og moderne shellimplementering med yderligere funktioner og forbedringer. PowerShell er specielt designet til systemadministratorer til at kontrollere og automatisere administrationen af windows-systemer.
PowerShell bruges for det meste af systemadministratorer til at administrere netværket såvel som de systemer og applikationer, der er en del af dette netværk. Det kan effektivt tolke både Batch-kommando og PowerShell-kommandoer, mens cmd kun kan fortolke Batch-kommandoer. Kommandoprompt giver et middel til at interagere med computerprogrammet ved hjælp af brugerudstedte kommandoer.
I modsætning til kommandoprompten, der kun kan rømme strømme af tekst, er output, der genereres fra en cmdlet, mere end bare strøm af tekst; de rør objekter mellem cmdlets, hvilket giver dem mulighed for at dele mere komplekse data mellem cmdlets.
PowerShell bruger meget mere kraftfulde funktioner kaldet “cmdlets”, som udgør et rigt sæt kommandoer til at udføre mere kraftfulde forespørgsler med bedre output end findes i Windows-kommandolinjen. Funktionerne i PowerShell er meget mere komplicerede, men alligevel kraftige end den traditionelle kommandoprompt, og de kan meget vel bruges med den standardiserede syntaks.
PowerShell er mere end bare et shell; det er et kraftfuldt scriptmiljø baseret på .Net-rammen, der kan bruges til at køre komplekse scripts til Windows-systemadministration lettere og mere effektivt, end det ville være med Command Prompt. Derudover inkluderer PowerShell flere forbedringer og yderligere funktioner, der udvider brugen af dem, som til sidst forbedrer dens anvendelighed.
Både PowerShell og Command Prompt er opgavebaserede kommandolinjeværktøjer, der bruges til hurtigt at automatisere systemadministrationsopgaver, men der er betydelige forskelle mellem de to med hensyn til funktionalitet og anvendelighed. CMD er et grundlæggende kommandolinieskal introduceret med Windows NT-familien af operativsystemer med den samme standardiserede syntaks og funktionalitet som DOS. PowerShell er på den anden side et opgavebaseret kommandolinjeskal og scriptingsprog baseret på .Net-rammen, der bruges til at automatisere batchbehandling og oprette systemstyringsværktøjer. I modsætning til cmd bruger den et rigt sæt kommandoer kaldet cmdlets til at udføre systemadministrationsopgaver.