PowerShell 7 Preview 5 utgitt, her er hva som er nytt
Microsoft gir ut en ny forhåndsversjon av neste generasjons PowerShell-skriptspråk. Interessante brukere kan få Preview 5 av PowerShell 7. Den inneholder en rekke nye funksjoner og mange feilrettinger fra både fellesskapet og PowerShell-teamet.
PowerShell er en avansert form for ledetekst. Den er utvidet med et stort sett med klare til bruk cmdlets og kommer med muligheten til å bruke .NET framework/C# i ulike scenarier. Windows inkluderer et GUI-verktøy, PowerShell ISE, som tillater redigering og feilsøking av skript på en nyttig måte.
PowerShell 7 er den første kommandolinje-skall- og skriptspråkpakken basert på .NET Core 3.0. Den kan oppnå kompatibilitet med 90+% av innboksen Windows PowerShell-moduler ved å utnytte endringer i .NET Core 3.0 som bringer tilbake mange APIer som kreves av moduler bygget på .NET Framework, slik at de fungerer med .NET Core kjøretid.
Microsoft er i ferd med å gi ut enda en forhåndsversjon neste måned i november. Deretter, unntatt kvalitetsproblemer, en utgivelseskandidat i desember på linje med
.NET Core 3.1 endelig utgivelse. Til slutt forventer de General Availability av PowerShell 7 i januar som deres første Long Term Service-utgivelse.Mellom utgivelseskandidaten og generell tilgjengelighet vil Microsoft bare godta kritiske feilrettinger og ingen nye funksjoner vil bli inkludert. For den utgivelsen, noen Eksperimentelle funksjoner vil bli ansett som designstabil og ikke lenger være eksperimentell. Dette betyr at eventuelle fremtidige designendringer for disse funksjonene vil bli ansett som en brytende endring.
Nye funksjoner i forhåndsvisning 5
Denne utgivelsen har en rekke nye funksjoner fra både fellesskapet og PowerShell-teamet. Forhåndsvisningsutgivelser av PowerShell kan installeres side ved side med stabile versjoner slik at du kan bruke begge.
Kjedeoperatører
Den nye Rørledningskjedeoperatører tillate betinget kjøring av kommandoer avhengig av om den forrige kommandoen lyktes eller ikke. Dette fungerer med både native kommandoer så vel som PowerShell cmdlets eller funksjoner. Før denne funksjonen kunne du allerede gjøre dette ved å bruke hvis
uttalelser sammen med å sjekke om $?
indikerte at den siste uttalelsen lyktes eller mislyktes. Denne nye operatøren gjør dette enklere og konsistent med andre skall.
Null betingede operatører for koalescing og tildeling
Ofte i skriptene dine må du kanskje sjekke om en variabel er $null eller om en egenskap er $null før du bruker den. De nye betingede Null-operatørene gjør dette enklere.
Den nye ??
null koalescerende operatør fjerner behovet for hvis
og ellers
setninger hvis du ønsker å få verdien av en setning hvis den ikke er $null eller returnere noe annet hvis den er $null. Merk at dette ikke erstatter sjekken for en boolsk verdi på sann eller usann, det sjekker bare om den er $null.
Den nye ??=
null conditional assignment operator gjør det enkelt å tildele en variabel en verdi bare hvis den ikke er $null.
Ny PowerShell-versjonsmelding
Ved hjelp av telemetri har teamet funnet ut at mange brukere bruker utdaterte PowerShell-versjoner. Fra og med PowerShell 7 vil konsollen annonsere en ny versjon der den er tilgjengelig.
Flere detaljer om denne funksjonen, inkludert hvordan du deaktiverer den i Varsling om versjonsoppdatering RFC
Tabellutfylling for variabel oppdrag
Denne nye funksjonen lar deg bruke tabulatorfullføring på variabeltilordning og få tillatte verdier for oppslag eller variabler med typebegrensninger som [ValidateSet()]
. Dette gjør det enkelt å endre $ErrorActionPreference
eller det nye $ErrorView
(detaljert nedenfor) til gyldige verdier uten å måtte skrive dem ut.
Format-Hex forbedret formatering
Denne forbedringen kommer fra Joel Sallow lager Format-Hex
mer nyttig når du viser forskjellige typer objekter i en pipeline, samt støtter visning av flere typer objekter.
Get-HotFix er tilbake
De Get-HotFix
cmdlet fungerer bare på Windows og vil spørre systemet om hvilke oppdateringer som er installert. Dette var tidligere utilgjengelig i PowerShell Core 6 fordi det var avhengig av System. Administrasjonsnavneområde som ikke var tilgjengelig på .NET Core 2.x som PowerShell Core 6.x er bygget på. .NET Core 3.0, som PowerShell 7 er bygget på, brakte imidlertid tilbake dette navneområdet (kun for Windows), så vi reaktiverte denne cmdleten.
Det er en forsinkelse for å få resultater i dette eksemplet på grunn av antall oppdateringer forfatteren har på sin Windows 7 VM.
Select-String legger vekt
Dette var en HackIllinois prosjekt av Derek Xia som bruker omvendt farget tekst for å markere teksten i en streng som samsvarer med utvalgskriteriene. Det er en valgfri - Ingen vekt
bryter for å undertrykke vekten.
ConciseView for feil
Noen tilbakemeldinger fra brukere vi konsekvent har mottatt handler om mengden rød tekst du får når du støter på en feil i PowerShell.
De $ErrorView
preferansevariabel lar deg endre formateringen av feil. Tidligere støttet det Normalvisning
(standarden) samt en mer kortfattet Kategorivisning
. Denne funksjonen legger til en ConciseView
hvor de fleste kommandoer bare returnerer den relevante feilmeldingen. I tilfeller der det er ekstra kontekstuell informasjon i en skriptfil eller plasseringen i et skript blokk, får du linjenummeret, den aktuelle tekstlinjen og en peker til hvor feilen er skjedde.
Dette nye synet er en del av Oppdater feilvisning RFC så gi gjerne tilbakemelding der.
Get-Error cmdlet
Samtidig som ConciseView
gir deg mer presis, men begrenset informasjon om feil, la vi til en ny cmdlet Få-feil
for å få mye rikere informasjon om feil.
Som standard, bare kjører Få-feil
viser en formatert visning av den siste feilen, inkludert spesifikke nestede typer som Unntak og ErrorRecords, noe som gjør det lettere å diagnostisere hva som gikk galt.
Denne nye cmdleten er en del av Oppdater feilvisning RFC så gi gjerne tilbakemelding der.
PowerShell 7 er satt til å oppdateres på månedlig basis, slik at brukere kan forvente flere forhåndsversjoner av skriptspråket før det når generell tilgjengelighet nesten en måned etter .NET Core 3.0.
Se også Utgivelsesnotater for alle detaljer om hva som er inkludert i denne utgivelsen.
Kilde: Microsoft