GT forklarer: Forskellen mellem kommandoprompt og Powershell
Miscellanea / / November 29, 2021
Windows OS leveres med flere apps og hjælpeværktøjer til at hjælpe brugere med at udføre forskellige opgaver. Sammen med apps er værktøjer som f.eks Kommandoprompt (CMD) og PowerShell, som ofte bruges til fejlfinding, kørsel af batchkommandoer og systemvedligeholdelse. Men hvad er forskellen mellem kommandoprompt og PowerShell?
![Forskellen mellem Cmd og Powershell](/f/c86cfc712fbd0d2ffeacc9f9663c02d0.jpg)
På overfladen kan du bruge begge værktøjer, og mange kommandoer er eksekverbare på begge. Men der er subtile forskelle mellem disse to. I enklere vendinger er PowerShell CMDs ældre bror og kan bruges til at køre de fleste CMD-kommandoer, og så nogle flere.
Lad os begynde.
1. Hvad er kommandoprompt (CMD)
Windows 95 og 98 kom med Command.com, som også var kendt som MS-DOS. Brugere kunne interagere med OS direkte ved hjælp af tekstbaserede kommandoer. Microsoft udgav derefter CMD (Command Prompt) med Windows NT, som var bedre end tidligere iterationer.
![Forskellen mellem Cmd og Powershell 3](/f/48e5949bd36962471085068295ba6362.png)
CMD bruges mest til at udføre batch-kommandoer, interagere med filsystemet (DIR kommandoer), og endda fejlfind systemrelaterede fejl, der ellers er svære at løse.
2. Hvad er PowerShell
PowerShell blev først udgivet i 2006 til Windows XP SP2. Den fornyede PowerShell 2.0 med Windows 7 bragte endnu flere funktioner og var bagudkompatibel med mange CMD-kommandoer. Windows 10 har det som standard kommandolinjeværktøj. Grunden til, at PowerShell tog fart, var dens evne til at arbejde med C#-programmeringssproget, der også integreres med .NET Framework.
![Forskellen mellem Cmd og Powershell 2](/f/128b3ef20ccd6cf56e6ec882955499a6.png)
Det gjorde det muligt for brugere at skrive brugerdefinerede scripts, som kan bruges til at udføre en række kommandoer eksternt. Du kan også bruge det til at automatisere visse administrative opgaver, hvilket giver mere fleksibilitet end en ydmyg CMD. Det er et script-miljø, der fungerer som mere end blot en skal. Desuden har den en blå baggrund i stedet for sort af en eller anden grund.
3. Forskellen mellem CMD og PowerShell
CMD bruges mest af systemadministratorer til at behandle batchfiler, fejlfinde nogle almindelige fejl og rette korrupte systemfiler.
PowerShell tager tingene til det næste niveau ved at tillade administratorer at kontrollere et helt netværk og alle systemer på det netværk. I modsætning til CMD, der kun kan fortolke og udføre Batch-kommandoer, kan PowerShell også fortolke og udføre Batch- og PowerShell-kommandoer. Hvad er det?
Det er her 'cmdlets' kommer. De er en gruppe af kommandoer, som brugere kan udføre med en enkelt kommando. Denne gruppe af kommandoer kaldes scripts. I CMD skal du vente, indtil den forrige kommando er fuldført, før du giver den næste. PowerShell sparer tid og tillader automatisering ved hjælp af scripts på denne måde.
![Forskellen mellem Cmd og Powershell 3](/f/f13413611bfafad2cfbe826ecc0e8037.jpg)
Mens CMD kun kan arbejde med tekst, tog PowerShell et blad ud af Linux-kommandolinjer og kan også arbejde med rør. Pipes tillader en cmdlet at dele selv komplekse data (output) med en anden cmdlet (input). Det giver administratorer mulighed for at manipulere og overføre data mellem forskellige programmer og endda computere i et netværk ved at udføre cmdlet'er i en defineret rækkefølge.
Tag ikke fejl, selvom PowerShell er kraftfuldt, det er intetsteds så kraftfuldt som nogle kommandolinjeværktøjer, der understøttes i distributioner med Linux-smag.
4. Hvornår skal bruges
CMD er meget brugt til at navigere i systemfil- og mappestrukturen, administrere og interagere med den, ændre egenskaber og fejlfinde Windows-fejl. Hos GT beder vi ofte vores læsere om at køre kommandoer som SFC (System File Checker) og DISM (Deployment Image Servicing and Management) for at kontrollere systemfilernes integritet og reparere dem.
![Forskellen mellem Cmd og Powershell 5](/f/7844ed3aeed0d7494007dd55fea3b958.jpg)
Systemadministratorerne foretrækker PowerShell til styring af data, især over et netværk af computere. Da du også kører stort set alle kommandoer i CMD i PowerShell, giver det en fordel i forhold til kommandoprompten. Du kan også køre cmdlet'er, som er sæt af kommandoer (scripts) til at udføre administrative funktioner.
Muligheden for at trykke på kodelageret i .NET Framework åbner flere muligheder for PowerShell-brugere. Du kan hente information om kørende processer (get-proces cmdlet), netværkskommunikation, udføre databaserelaterede administrative opgaver og endda kryptografiske algoritmer. Mere velegnet til programmører og administratorer.
![Forskellen mellem Cmd og Powershell 4](/f/800bea1c738c7d813396209d8fcaed43.jpg)
Så kommer den betingede logik, hvor du kan planlægge opgaver, der skal udføres baseret på forekomsten af en hændelse, for eksempel. Andre eksempler på betinget logik inkluderer parametre som if, else, for, when og switch. Et simpelt eksempel kan være en cmdlet, der lukker alle baggrundsapps, hvis RAM er fuld eller overtræder et vist niveau med hensyn til brug. Pænt, hva'?
Selvom disse er simple eksempler, bruger netværksadministratorer PowerShell til mange komplekse opgaver. Ved du ikke, hvordan du opretter din første cmdlet? Fortvivl ikke, for PowerShell nyder et stort fællesskab af entusiaster, der har delt deres cmdlets, som du kan bruge.
Power Move
Microsoft TechNet har en fantastisk samling af guider, eksempler og links til kodelagre (som GitHub). Et fremragende sted at begynde din rejse. For nylig, den nye Windows Terminal app til Windows 10 blev udgivet, hvilket forvirrede mange brugere. Det har Microsoft dog gjorde det klart at CMD er her blive. Det giver meget mening at se, hvor mange brugere der stadig bruger CMD som deres standard kommandolinjeværktøj.
Næste: Leder du efter nogle CMD tips og tricks? Klik på linket nedenfor for at finde en samlet liste over 11 seje CMD-kommandoer.