GT förklarar: Skillnaden mellan kommandotolk och Powershell
Miscellanea / / November 29, 2021
Windows OS levereras med flera appar och verktyg för att hjälpa användare att utföra olika uppgifter. Tillsammans med appar finns verktyg som Kommandotolk (CMD) och PowerShell, som ofta används för att felsöka fel, köra batchkommandon och systemunderhåll. Men vad är skillnaden mellan Command Prompt och PowerShell?
På ytan kan du använda båda verktygen och många kommandon är körbara på båda. Men det finns subtila skillnader mellan dessa två. I enklare termer är PowerShell CMD: s äldre bror och kan användas för att köra de flesta CMD-kommandon, och lite till.
Låt oss börja.
1. Vad är kommandotolk (CMD)
Windows 95 och 98 kom med Command.com, som också var känt som MS-DOS. Användare kan interagera med operativsystemet direkt med hjälp av textbaserade kommandon. Microsoft släppte sedan CMD (Command Prompt) med Windows NT som var bättre än tidigare iterationer.
CMD används mest för att utföra batch-kommandon, interagera med filsystemet (DIR-kommandon), och till och med felsöka systemrelaterade fel som annars är svåra att lösa.
2. Vad är PowerShell
PowerShell släpptes först 2006 för Windows XP SP2. Den piffade PowerShell 2.0 med Windows 7 gav ännu fler funktioner och var bakåtkompatibel med många CMD-kommandon. Windows 10 har det som standard kommandoradsverktyg. Anledningen till att PowerShell tog fart var dess förmåga att arbeta med programmeringsspråket C# som också integreras med .NET Framework.
Det gjorde det möjligt för användare att skriva anpassade skript som kan användas för att utföra en serie kommandon på distans. Du kan också använda den för att automatisera vissa administrativa uppgifter, vilket ger mer flexibilitet än en ödmjuk CMD. Det är en skriptmiljö som fungerar som mer än bara ett skal. Dessutom har den en blå bakgrund istället för svart av någon anledning.
3. Skillnaden mellan CMD och PowerShell
CMD används mest av systemadministratörer för att bearbeta batchfiler, felsöka några vanliga fel och fixa korrupta systemfiler.
PowerShell tar saker till nästa nivå genom att tillåta administratörer att kontrollera ett helt nätverk och alla system på det nätverket. Till skillnad från CMD som bara kan tolka och köra batch-kommandon, kan PowerShell också tolka och köra batch- och PowerShell-kommandon. Vad är det?
Det är här "cmdlets" kommer. De är en grupp av kommandon som användare kan utföra med ett enda kommando. Den gruppen av kommandon kallas skript. I CMD måste du vänta tills det föregående kommandot är helt utfört innan du ger nästa. PowerShell sparar tid och tillåter automatisering genom att använda skript på detta sätt.
Medan CMD bara kan arbeta med text, tog PowerShell ett blad från Linux-kommandoraderna och kan även arbeta med pipes. Pipes tillåter en cmdlet att dela även komplexa data (output) med en annan cmdlet (ingång). Det gör att administratörer kan manipulera och överföra data mellan olika program och till och med datorer i ett nätverk, genom att exekvera cmdlets i en definierad sekvens.
Gör inga misstag även om PowerShell är kraftfullt, det är ingenstans så kraftfullt som vissa kommandoradsverktyg som stöds i Linux-smaksatta distributioner.
4. När du ska använda
CMD används ofta för att navigera i systemfilen och mappstrukturen, hantera och interagera med den, ändra egenskaper och felsöka Windows-fel. På GT ber vi ofta våra läsare att köra kommandon som SFC (System File Checker) och DISM (Deployment Image Servicing and Management) för att kontrollera systemfilernas integritet och reparera dem.
Systemadministratörerna föredrar PowerShell för att hantera data, särskilt över ett nätverk av datorer. Dessutom, eftersom du kör i stort sett alla kommandon för CMD i PowerShell, ger det en fördel över kommandotolken. Du kan också köra cmdlets som är uppsättningar av kommandon (skript) för att utföra administrativa funktioner.
Möjligheten att trycka på kodförrådet i .NET Framework öppnar upp fler möjligheter för PowerShell-användare. Du kan hämta information om pågående processer (get-process cmdlet), nätverkskommunikation, utföra databasrelaterade administrativa uppgifter och till och med kryptografiska algoritmer. Mer lämplig för programmerare och administratörer.
Sedan kommer den villkorliga logiken där du kan schemalägga uppgifter som ska utföras baserat på till exempel förekomsten av en händelse. Andra exempel på villkorlig logik inkluderar parametrar som if, else, for, when och switch. Ett enkelt exempel kan vara en cmdlet som stänger alla bakgrundsappar om RAM-minnet är fullt eller bryter mot en viss nivå vad gäller användning. Snyggt, va?
Även om dessa är enkla exempel, använder nätverksadministratörer PowerShell för många komplexa uppgifter. Vet du inte hur du skapar din första cmdlet? Oroa dig inte, för PowerShell har en stor grupp av entusiaster som har delat med sig av sina cmdlets som du kan använda.
Power Move
Microsoft TechNet har en stor samling guider, exempel och länkar till kodlager (som GitHub). En utmärkt plats att börja din resa. Nyligen den nya Windows Terminal-appen för Windows 10 släpptes som förvirrade många användare. Det har dock Microsoft gjorde det klart att CMD är här stanna. Det är väldigt logiskt att se hur många användare som fortfarande använder CMD som sitt standardkommandoradsverktyg.
Nästa upp: Letar du efter några CMD-tips och tricks? Klicka på länken nedan för att hitta en kurerad lista med 11 coola CMD-kommandon.