Windows PowerShell är en integrerad del av Windows operativsystem. Det är ett kommandoradsskal och ett skriptspråk som används för att automatisera tidskrävande repetitiva uppgifter, göra anpassade hanteringsverktyg och bygga, testa och distribuera lösningar för olika andra problem.

Standardversionen av PowerShell som är förpackad i Windows operativsystem är PowerShell 5.1, eller helt enkelt Windows PowerShell. Men med PowerShell 7 redan släppt och stabil, är det inte mer meningsfullt för Windows OS att använda den senaste versionen av PowerShell? Vilka fördelar ger PowerShell 7 ändå? Och är det värt uppgraderingen? Låt oss prata om det!

Vad är PowerShell 7?

PowerShell 7 är den senaste LTS-versionen av PowerShell. Den här versionen av PowerShell är utvecklad genom det nyare .NET Core-ramverket, som tillåter flera stora uppdateringar som Windows-användare kommer att ha nytta av.

PowerShell 7 är registrerad och licensierad under MIT-licensen. Det är nu programvara med öppen källkod, där människor fritt kan se, ändra och distribuera sin egen kopia av programvarans källkod. Utvecklare kan också bidra till de officiella PowerShell-versionerna genom att gå med

instagram viewer
PowerShells officiella GitHub-sida.

Med sitt community-stöd är den här versionen av PowerShell nu plattformsoberoende! Det betyder att den nu kan installeras och användas på Windows, macOS och Linux. Här är en lista över det x64-operativsystem som stöds:

  • Windows 8.1, 10, 11
  • Windows Server 2012, 2012 R2, 2016 och 2019
  • macOS 10.13+
  • Red Hat Enterprise Linux (RHEL) / CentOS 7
  • Fedora 30+
  • Debian 9
  • Ubuntu LTS 16.04+

Alpine Linux 3.8+ PowerShell 7 stöds också på olika ARM32- och ARM64-distros av Debian, Ubuntu och ARM64 Alpine Linux. För den som är intresserad finns det även paket som inte stöds för Arch och Kali Linux.

Vilka är de nya funktionerna som ingår i PowerShell 7?

Bildkredit: Windows/Unsplash

Förutom att vara plattformsoberoende och öppen källkod har PowerShell 7 många andra nya funktioner som ytterligare förbättrar produktiviteten. Här är några av de mer anmärkningsvärda:

1. Förbättrad bakåtkompatibilitet

Med skillnaden i ramverk kommer Windows PowerShell- och PowerShell-versioner som använder .NET Core-ramverket att ha inkompatibiliteter. För att göra det lättare för människor att övergå, integrerar PowerShell 7 nu WindowsCompatibility-modulen. Den här modulen är utformad för att tillåta Windows PowerShell-moduler och många populära CMD-kommandon att arbeta i PowerShell 7.

2. Pipeline-parallellisering med ForEach-Object

PowerShell 7 har nu en Parallell parameter. I Windows PowerShell kommer varje rörobjekt som använder ForEach-Object-cmdleten att köras ett i taget. Men med den nya Parallell-parametern exekveras nu alla rör-objekt samtidigt. Detta förbättrar prestandan drastiskt vilket kan spara tid.

3. Ternära operatörer

Windows PowerShell-villkor görs genom if-else-satser. PowerShell 7 gör detta ännu enklare genom att introducera ternära operatorer, som i grunden är förenklade versioner av if-else-satserna genom att använda "?" och ":" i syntaxen. Denna funktion möjliggör en snabbare och renare skriptupplevelse.

4. Pipeline Chain Operators

Pipeline-operatörer är en viktig funktion i Windows PowerShell. Det låter dig göra komplexa uttryck genom att ta utdata från en cmdlet och använda den på en annan cmdlet. Detta är dock begränsat eftersom Windows PowerShell inte kan bearbeta villkorliga uttryck med vanliga pipeline-operatorer.

PowerShell 7 löser detta problem genom att introducera pipeline chain-operatörer, som är "&&" och "||". Den här nya pipeline-operatören tillåter PowerShell att köra kommandon med villkorliga uttryck.

Operatör && används för att utföra kommandot till höger pipeline endast om kommandot före operatören lyckas. Medan operatör || kommer endast att utföra kommandot till höger pipeline om kommandot före operatören misslyckas.

Varför är inte PowerShell 7 standard på Windows?

Bildkredit: Mike Schinkel/Flickr

PowerShell 7 är en plattformsoberoende programvara med öppen källkod som ger funktioner som drastiskt kan förbättra prestanda och skripthastighet. Så varför gör inte Microsoft det till standard PowerShell i Windows?

Den nuvarande PowerShell som kommer förinstallerad med nyare Windows-system är PowerShell 5.1. Detta är den sista PowerShell-versionen som använder .NET-ramverket. Även om det är sant att dess efterföljande versioner ger bättre funktioner, har Windows PowerShell fortfarande en fördel som den nyare PowerShell inte har - fullständig bakåtkompatibilitet.

Den första PowerShell släpptes den 14 november 2006. Detta var när Windows Vista och XP fortfarande var det senaste Windows-operativsystemet. Enligt forskning från enlyft, enbart USA har över 46 000 företag som fortfarande använder Windows XP. Dessa företag kan helt enkelt inte uppgradera till den senaste PowerShell eftersom det skulle orsaka massor av bakåtkompatibilitetsproblem även med PowerShell 7:s integrerade WindowsCompatibility-modul.

För stora företag och olika kritiska infrastrukturer (bankomater, energileverantörer, järnvägar, sjukhus, etc.), försening tjänst i veckor till månader bara för att bygga om, testa och distribuera skript som redan fungerade med PowerShell 5.1 är helt enkelt inte en alternativ. Strunt i alla buggar som kan dyka upp under den faktiska drifttiden.

Eftersom PowerShell 5.1 är den senaste PowerShell byggd på. NET-ramverket fungerar det garanterat med alla tidigare versioner av PowerShell, även den som släpptes 2006.

Ska du uppgradera till PowerShell 7?

PowerShell 7 levererar många användbara uppdateringar som gör kommandoradsgränssnitt och skript enklare, snabbare och bekvämare med dess plattformsoberoende stöd. Däremot ger Windows PowerShell fullständig bakåtkompatibilitet till alla äldre PowerShell före PowerShell 6. Så, ska du fortsätta använda Windows PowerShell eller uppgradera till den nyare PowerShell 7?

Det som är bra med PowerShell 7 är att det designades för att samexistera med Windows PowerShell 5.1. Bortsett från den integrerade WindowsCompatibility-modulen, PowerShell 7 tillhandahåller också en separat installationssökväg, körbart namn, PSModulePath och händelseloggar för att säkerställa att det inte stör det redan installerade Windows PowerShell.

Så för den stora majoriteten av människor som vill prova de nya funktionerna i PowerShell 7, kan de säkert göra det samtidigt som de behåller standard Windows PowerShell. Om du är nyfiken på om den nyare PowerShell är något för dig, bör du definitivt prova den nyare PowerShell.

Även om PowerShell 7 ger bra bakåtkompatibilitet, kommer det alltid att finnas vissa avvikelser på grund av deras skillnader i ramverket. Om du arbetar på ett företag eller en organisation som i hög grad förlitar sig på anpassade verktyg och program gjorda från Windows PowerShell, kanske det inte är en bra idé att migrera företagets system till PowerShell 7.

PowerShell 7 gav massor av uppdateringar men tappade också en hel del äldre moduler och cmdlets. Om du är en person som redan är nöjd med standard PowerShell, så finns det verkligen ingen anledning att migrera, särskilt om du inte har tid att läsa dokumentationen.

PowerShell 7 gör scripting snabbare

PowerShell 7 är en av de senaste stabila versionerna av PowerShell med Long Term Support (LTS). Det ger ett snabbare och enklare sätt att använda PowerShell, även om du använder andra operativsystem som macOS eller Linux. Även om det kan ta lite tid att läsa dess dokumentation, kommer du i slutändan att spara mer tid när du blir skicklig med de nya uppdateringarna.