9Aug
Windows 7 lade till PowerShell, ett kraftfullare kommandoradsskal och skriptspråk än Command Prompt. Sedan Windows 7 har PowerShell blivit mer framträdande, med att det till och med blir standardvalet i Windows 10.
PowerShell är mer komplicerat än det traditionella kommandotolken, men det är också mycket kraftfullare. Kommandotolken är dramatiskt sämre än skalen som är tillgängliga för Linux och andra Unix-liknande system, men PowerShell konkurrerar positivt. Dessutom kan de flesta kommandopromptkommandon användas i PowerShell, vare sig de är inhemska eller genom alias.
Hur PowerShell skiljer sig från kommandotolken
PowerShell är faktiskt väldigt annorlunda än kommandotolken. Den använder olika kommandon, kända som cmdlets i PowerShell. Många systemadministrationsuppgifter - från hantering av registret till WMI( Windows Management Instrumentation) - exponeras via PowerShell cmdlets, medan de inte är tillgängliga från kommandotolken.
PowerShell använder sig av rör - precis som Linux gör - som låter dig överföra output från en cmdlet till ingången till en annan cmdlet. Således kan du använda flera cmdlets i följd för att manipulera samma data. Till skillnad från Unix-liknande system - som bara kan röra strömmar av tecken( text) - PowerShell rör objekt mellan cmdlets. Och nästan allt i PowerShell är ett objekt, inklusive alla svar du får från en cmdlet. Detta gör det möjligt för PowerShell att dela mer komplexa data mellan cmdlets, som fungerar mer som ett programmeringsspråk.
PowerShell är inte bara ett skal. Det är en kraftfull skriptmiljö som du kan använda för att skapa komplexa skript för hantering av Windows-system mycket lättare än vad du kan med kommandotolken.
Kommandotolken är i grund och botten bara en äldre miljö som vidarebefordras i Windows - en miljö som kopierar alla DOS-kommandon som du skulle hitta på ett DOS-system. Det är smärtsamt begränsat, kan inte nå många funktioner för Windows-systemadministration, är svårare att komponera komplexa skript med, och så vidare. PowerShell är en ny miljö för Windows-systemadministratörer som låter dem använda en modernare kommandoradsmiljö för att hantera Windows.
När du vill använda PowerShell
Så när vill en vanlig Windows-användare använda PowerShell?
Om du bara sätter upp kommandotolken sällan för att köra det enstaka ping- eller ipconfig-kommandot, behöver du verkligen inte peka på PowerShell. Om du är mer bekväm att hålla fast vid Command Prompt, går det inte någonstans. Med det sagt, de flesta av dessa kommandon fungerar också bra i PowerShell också, om du vill prova det.
PowerShell kan dock vara en mycket kraftfullare kommandoradsmiljö än kommandotolken. Vi har till exempel visat dig hur du använder PowerShell-miljön inbyggd i Windows för att utföra en sökning och ersättning för att byta namn på flera filer i en mapp, något som normalt kräver att du installerar ett program från tredje part. Det här är den typ av sak som Linux-användare alltid har kunnat göra med sin kommandoradsmiljö, medan Windows-användare släpptes ut.
PowerShell är dock inte som Linux-terminalen. Det är lite mer komplicerat, och den genomsnittliga Windows-användare kanske inte ser många fördelar med att spela med den.
Systemadministratörer vill lära sig PowerShell så att de kan hantera sina system mer effektivt. Och om du någonsin behöver skriva ett skript för att automatisera olika systemadministrativa uppgifter, ska du göra det med PowerShell.
PowerShell ekvivalenter för gemensamma kommandon
Många vanliga kommandopromptkommandon-från ipconfig till cd-arbete i PowerShell-miljön. Detta beror på att PowerShell innehåller "aliaser" som pekar på dessa gamla kommandon på lämpliga nya cmdlets, kör de nya cmdletsna när du skriver de gamla kommandona.
Vi kommer överstiga några vanliga kommandopromptkommandon och deras motsvarigheter i PowerShell ändå - bara för att ge dig en uppfattning om hur PowerShells syntax är annorlunda.
Ändra en katalog
- DOS: cd
- PowerShell: Set-
-lista i en katalog
- DOS: dir
- PowerShell: Get-ChildItem
Byt namn på en fil
- DOS: byt namn på
- PowerShell: Byt namn-Artikel
För att se om ett DOS-kommando har ett alias kan du använda Get-Alias cmdlet. Om du exempelvis skriver Get-Alias-cd visar du att den här cd-skivan faktiskt kör cmdlet-platsen.
Läs mer
Vill du lära dig mer om PowerShell? Läs vår serie av Geek School-artiklar som introducerar dig till PowerShell och hjälper dig att få fart. Om du är en systemadministratör i Windows, borde du veta dessa saker.