Windows PowerShell er en integrert del av Windows-operativsystemet. Det er et kommandolinjeskall og et skriptspråk som brukes til å automatisere tidkrevende repeterende oppgaver, lage tilpassede administrasjonsverktøy og bygge, teste og distribuere løsninger for forskjellige andre problemer.
Standard PowerShell-versjonen som leveres ferdigpakket i Windows-operativsystemet er PowerShell 5.1, eller ganske enkelt Windows PowerShell. Men med PowerShell 7 allerede utgitt og stabil, gir det ikke mer mening for Windows OS å bruke den nyeste versjonen av PowerShell? Hvilke fordeler gir PowerShell 7 likevel? Og er det verdt oppgraderingen? La oss snakke om det!
Hva er PowerShell 7?
PowerShell 7 er den siste LTS-utgivelsesversjonen av PowerShell. Denne versjonen av PowerShell er utviklet gjennom det nyere .NET Core-rammeverket, som tillater flere store oppdateringer som Windows-erfarne brukere vil finne nyttige.
PowerShell 7 er registrert og lisensiert under MIT-lisensen. Det er nå åpen kildekode programvare
, der folk fritt kan se, endre og distribuere sin egen kopi av programvarens kildekode. Utviklere kan også bidra til de offisielle PowerShell-utgivelsene ved å bli med PowerShells offisielle GitHub-side.Med sin fellesskapsstøtte er denne versjonen av PowerShell nå på tvers av plattformer! Det betyr at den nå kan installeres og brukes på Windows, macOS og Linux. Her er en liste over det støttede x64-operativsystemet:
- Windows 8.1, 10, 11
- Windows Server 2012, 2012 R2, 2016 og 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øttes også på forskjellige ARM32- og ARM64-distros av Debian, Ubuntu og ARM64 Alpine Linux. For de som er interessert, er det også pakker som ikke støttes for Arch og Kali Linux.
Hva er de nye funksjonene som er inkludert i PowerShell 7?
Bortsett fra å være på tvers av plattformer og åpen kildekode, har PowerShell 7 mange andre nye funksjoner som forbedrer produktiviteten ytterligere. Her er noen av de mer bemerkelsesverdige:
1. Forbedret bakoverkompatibilitet
Med forskjellen i rammeverk vil Windows PowerShell- og PowerShell-versjoner som bruker .NET Core-rammeverket ha inkompatibiliteter. For å gjøre det enklere for folk å gå over, integrerer PowerShell 7 nå WindowsCompatibility-modulen. Denne modulen er designet for å tillate Windows PowerShell-moduler og mange populære CMD-kommandoer å jobbe i PowerShell 7.
2. Pipeline-parallellisering med ForEach-Object
PowerShell 7 har nå en Parallell parameter. I Windows PowerShell vil hvert rørobjekt som bruker ForEach-Object-cmdleten, kjøres en om gangen. Men med den nye Parallell-parameteren, blir alle rørobjekter nå utført samtidig. Dette forbedrer ytelsen drastisk, noe som kan spare deg for tid.
3. Ternære operatører
Windows PowerShell-betingelsene gjøres gjennom if-else-setninger. PowerShell 7 gjør dette enda enklere ved å introdusere ternære operatorer, som i utgangspunktet er forenklede versjoner av if-else-setningene ved å bruke "?" og ":" i syntaksen. Denne funksjonen gir en raskere og renere skriptopplevelse.
4. Rørledningskjedeoperatører
Rørledningsoperatører er en viktig funksjon i Windows PowerShell. Den lar deg lage komplekse uttrykk ved å ta utdataene fra en cmdlet og bruke den på en annen cmdlet. Dette er imidlertid begrenset ettersom Windows PowerShell ikke kan behandle betingede uttrykk ved bruk av vanlige pipeline-operatører.
PowerShell 7 løser dette problemet ved å introdusere rørledningskjedeoperatører, som er "&&" og "||". Denne nye pipeline-operatøren lar PowerShell utføre kommandoer med betingede uttrykk.
Operatør && brukes til å utføre høyre pipeline-kommando bare hvis kommandoen før operatøren er vellykket. Mens operatør || vil bare utføre høyre pipeline-kommando hvis kommandoen før operatøren mislykkes.
Hvorfor er ikke PowerShell 7 standard på Windows?
PowerShell 7 er en åpen kildekodet tverrplattformprogramvare som gir funksjoner som drastisk kan forbedre ytelsen og skripthastigheten. Så hvorfor gjør ikke Microsoft det til standard PowerShell i Windows?
Den nåværende PowerShell som leveres forhåndsinstallert med nyere Windows-systemer er PowerShell 5.1. Dette er den siste PowerShell-versjonen som bruker .NET-rammeverket. Selv om det er sant at de etterfølgende versjonene gir bedre funksjoner, har Windows PowerShell fortsatt en fordel som den nyere PowerShell ikke gjør – fullstendig bakoverkompatibilitet.
Den første PowerShell ble utgitt 14. november 2006. Dette var da Windows Vista og XP fortsatt var det nyeste Windows-operativsystemet. I følge forskning fra enlyft, har USA alene over 46 000 selskaper som fortsatt bruker Windows XP. Disse selskapene kan rett og slett ikke oppgradere til den nyeste PowerShell, da det ville forårsake massevis av bakoverkompatibilitetsproblemer selv med PowerShell 7s integrerte WindowsCompatibility-modul.
For store selskaper og ulike kritiske infrastrukturer (minibanker, energileverandører, jernbaner, sykehus, etc.), forsinkelse tjeneste i uker til måneder bare for å gjenoppbygge, teste og distribuere skript som allerede fungerte med PowerShell 5.1 er rett og slett ikke en alternativ. Ikke bry deg om alle feilene som kan komme ut i løpet av den faktiske driftstiden.
Siden PowerShell 5.1 er den nyeste PowerShell bygget på. NET-rammeverket, er det garantert å fungere med alle tidligere versjoner av PowerShell, selv den som ble utgitt i 2006.
Bør du oppgradere til PowerShell 7?
PowerShell 7 leverer mange nyttige oppdateringer som gjør kommandolinjegrensesnitt og skripting enklere, raskere og mer praktisk med støtte på tvers av plattformer. Derimot gir Windows PowerShell fullstendig bakoverkompatibilitet til all eldre PowerShell før PowerShell 6. Så bør du fortsette å bruke Windows PowerShell eller oppgradere til den nyere PowerShell 7?
Det som er bra med PowerShell 7 er at det ble designet for å eksistere sammen med Windows PowerShell 5.1. Bortsett fra den integrerte WindowsCompatibility-modulen, PowerShell 7 gir også en separat installasjonsbane, kjørbart navn, PSModulePath og hendelseslogger for å sikre at det ikke forstyrrer allerede installerte Windows Kraftskall.
Så for det store flertallet av folk som ønsker å prøve de nye funksjonene i PowerShell 7, kan de absolutt gjøre det mens de beholder standard Windows PowerShell. Hvis du er nysgjerrig på om den nyere PowerShell er noe for deg, bør du definitivt prøve den nyere PowerShell.
Selv om PowerShell 7 gir god bakoverkompatibilitet, vil det alltid være noen avvik på grunn av forskjellene i rammeverket. Hvis du jobber i et selskap eller en organisasjon som i stor grad er avhengig av tilpassede verktøy og programmer laget fra Windows PowerShell, er det kanskje ikke en god idé å migrere bedriftssystemet til PowerShell 7.
PowerShell 7 ga mange oppdateringer, men droppet også en del eldre moduler og cmdlets. Hvis du er en person som allerede er fornøyd med standard PowerShell, så er det egentlig ingen grunn til å migrere, spesielt hvis du ikke har tid til å lese dokumentasjonen.
PowerShell 7 gjør skripting raskere
PowerShell 7 er en av de nyeste stabile versjonene av PowerShell med Long Term Support (LTS). Det gir en raskere og enklere måte å bruke PowerShell på, selv om du bruker andre operativsystemer som macOS eller Linux. Selv om det kan ta litt tid å lese dokumentasjonen, vil du til slutt spare mer tid når du blir dyktig med de nye oppdateringene.