PowerShell 7 Preview 5 uitgebracht, dit is wat er nieuw is
Microsoft brengt een nieuwe preview-versie uit van de volgende generatie PowerShell-scripttaal. Interessante gebruikers kunnen Preview 5 van PowerShell 7 krijgen. Het bevat een aantal nieuwe functies en veel bugfixes van zowel de community als het PowerShell-team.
PowerShell is een geavanceerde vorm van opdrachtprompt. Het is uitgebreid met een enorme set kant-en-klare cmdlets en wordt geleverd met de mogelijkheid om .NET Framework/C# in verschillende scenario's te gebruiken. Windows bevat een GUI-tool, PowerShell ISE, waarmee u scripts op een handige manier kunt bewerken en debuggen.
PowerShell 7 is het eerste opdrachtregel-shell en scripttaalpakket op basis van .NET Core 3.0. Het kan compatibiliteit bereiken met 90+% van de inbox Windows PowerShell-modules door gebruik te maken van wijzigingen in .NET Core 3.0 die veel API's terugbrengen die nodig zijn voor modules die zijn gebouwd op .NET Framework, zodat ze werken met .NET Core looptijd.
Microsoft staat op het punt om volgende maand in november nog een preview-release uit te brengen. Vervolgens, afgezien van kwaliteitsproblemen, een Release Candidate in december afgestemd op de
.NET Core 3.1 Laatste versie. Ten slotte verwachten ze in januari de algemene beschikbaarheid van PowerShell 7 als hun eerste Long Term Servicing-release.Tussen de releasekandidaat en de algemene beschikbaarheid accepteert Microsoft alleen kritieke bugfixes en worden er geen nieuwe functies toegevoegd. Voor die release, sommige Experimentele functies wordt als ontwerpstabiel beschouwd en is niet langer experimenteel. Dit betekent dat toekomstige ontwerpwijzigingen voor die functies als een belangrijke wijziging worden beschouwd.
Nieuwe functies in Voorbeeld 5
Deze release heeft een aantal nieuwe functies van zowel de community als het PowerShell-team. Preview-releases van PowerShell kunnen naast stabiele versies worden geïnstalleerd, zodat u beide kunt gebruiken.
Ketenoperators
De nieuwe Exploitanten van pijplijnketens voorwaardelijke uitvoering van opdrachten toestaan, afhankelijk van of de vorige opdracht is geslaagd of mislukt. Dit werkt met zowel systeemeigen opdrachten als PowerShell-cmdlets of -functies. Voorafgaand aan deze functie kon je dit al doen door gebruik te maken van indien
verklaringen samen met het controleren of $?
aangegeven dat de laatste verklaring is geslaagd of mislukt. Deze nieuwe operator maakt dit eenvoudiger en consistenter met andere shells.
Null-voorwaardelijke operators voor samenvoegen en toewijzing
Vaak moet u in uw scripts controleren of een variabele $null is of dat een eigenschap $null is voordat u deze gebruikt. De nieuwe Null-voorwaardelijke operators maken dit eenvoudiger.
De nieuwe ??
null-coalescentie-operator maakt het niet meer nodig: indien
en anders
statements als je de waarde van een statement wilt krijgen als het niet $null is of iets anders wilt retourneren als het $null is. Merk op dat dit de controle voor een booleaanse waarde van waar of onwaar niet vervangt, het controleert alleen of het $null is.
De nieuwe ??=
Null voorwaardelijke toewijzingsoperator maakt het gemakkelijk om een variabele alleen een waarde toe te kennen als het geen $null is.
Melding nieuwe PowerShell-versie
Met behulp van telemetrie heeft het team ontdekt dat veel gebruikers verouderde PowerShell-versies gebruiken. Beginnend met PowerShell 7 zal it-console waar beschikbaar een nieuwe versie adverteren.
Meer details over deze functie, inclusief hoe u deze kunt uitschakelen in de Melding over versie-update RFC
Tabaanvulling voor variabele toewijzing
Met deze nieuwe functie kun je tabaanvulling gebruiken bij het toewijzen van variabelen en toegestane waarden krijgen voor opsommingen of variabelen met typebeperkingen zoals [ValidateSet()]
. Dit maakt het gemakkelijk om te veranderen $FoutActieVoorkeur
of de nieuwe $FoutBekijken
(hieronder gedetailleerd) naar geldige waarden zonder ze uit te typen.
Format-Hex verbeterde opmaak
Deze verbetering komt van Joel Sallow maken Formaat-Hex
handiger bij het bekijken van verschillende soorten objecten in een pijplijn en ondersteunt het bekijken van meer soorten objecten.
Get-HotFix is terug
De Get-HotFix
cmdlet werkt alleen op Windows en zal het systeem vragen welke patches zijn geïnstalleerd. Dit was voorheen niet beschikbaar in PowerShell Core 6 omdat het afhankelijk was van Systeem. Beheer naamruimte die niet beschikbaar was op .NET Core 2.x waarop PowerShell Core 6.x is gebouwd. .NET Core 3.0 waarop PowerShell 7 is gebouwd, bracht deze naamruimte echter terug (alleen voor Windows), dus hebben we deze cmdlet opnieuw ingeschakeld.
Er is een vertraging bij het verkrijgen van resultaten in dit voorbeeld vanwege het aantal patches dat de auteur op zijn Windows 7 VM heeft.
Select-String voegt nadruk toe
Dit was een HackIllinois project door Derek Xia die inverse gekleurde tekst gebruikt om de tekst te markeren in een tekenreeks die overeenkomt met de selectiecriteria. Er is een optionele -Geen nadruk
schakelaar om de nadruk te onderdrukken.
ConciseView voor fouten
Sommige gebruikersfeedback die we consequent hebben ontvangen, gaat over de hoeveelheid rode tekst die u krijgt wanneer u een fout tegenkomt in PowerShell.
De $FoutBekijken
Met voorkeursvariabele kunt u de opmaak van fouten wijzigen. Voorheen ondersteunde het Normaal uitzicht
(de standaard) en een meer beknopte CategorieBekijken
. Deze functie voegt een Beknopte weergave
waarbij de meeste opdrachten alleen het relevante foutbericht retourneren. In gevallen waarin er aanvullende contextuele informatie is in een scriptbestand of de locatie in een script blok, krijg je het regelnummer, de regel tekst in kwestie en een aanwijzer naar waar de fout heeft plaatsgevonden.
Deze nieuwe weergave maakt deel uit van de Update Fout RFC bekijken dus geef daar feedback.
Get-Error cmdlet
Terwijl Beknopte weergave
geeft u nauwkeurigere, maar beperkte informatie over fouten, we hebben een nieuwe cmdlet toegevoegd Ophaalfout
om veel rijkere informatie over fouten te krijgen.
Standaard alleen actief Ophaalfout
toont een geformatteerde weergave van de meest recente fout, inclusief het tonen van specifieke geneste typen zoals Exceptions en ErrorRecords, waardoor het gemakkelijker wordt om te diagnosticeren wat er mis is gegaan.
Deze nieuwe cmdlet maakt deel uit van de Update Fout RFC bekijken dus geef daar feedback.
PowerShell 7 wordt maandelijks bijgewerkt, dus gebruikers kunnen meer preview-versies van de scripttaal verwachten voordat deze bijna een maand na .NET Core 3.0 algemeen beschikbaar is.
Zie ook de Release-opmerkingen voor alle details van wat is opgenomen in deze release.
Bron: Microsoft