Wat is er nieuw in PowerShell 7.2?
PowerShell 7.2 is de volgende LTS-release (Long Term Servicing) die is gebouwd op .NET 6.0.
PowerShell 7.2 bevat de volgende functies, updates en belangrijke wijzigingen.
- Nieuwe universele installatiepakketten voor de meeste ondersteunde Linux-distributies
- Ondersteuning voor Microsoft Update in Windows
- 2 nieuwe experimentele functies
- Verbeterde systeemeigen opdrachtargumenten door te geven ondersteuning
- Ondersteuning voor ANSI FileInfo-kleuren
- Verbeterde tabvoltooiingen
- PSReadLine 2.1 met Predictive IntelliSense
- 7 experimentele functies die zijn gepromoveerd naar basis en 1 verwijderd
- DSC scheiden van PowerShell 7 om toekomstige verbeteringen mogelijk te maken
- Verschillende belangrijke wijzigingen om de bruikbaarheid te verbeteren
Zie het wijzigingenlogboek in de GitHub-opslagplaats voor een volledige lijst met wijzigingen.
Installatie-updates
Controleer de installatie-instructies voor uw voorkeursbesturingssysteem:
Daarnaast ondersteunt PowerShell 7.2 ARM64-versies van Windows- en macOS- en ARM32- en ARM64-versies van Debian en Ubuntu.
Zie de ondersteuningslevenscyclus van PowerShell voor actuele informatie over ondersteunde besturingssystemen en ondersteuningslevenscyclus.
Nieuwe universele installatiepakketten voor Linux-distributies
Eerder hebben we afzonderlijke installatiepakketten gemaakt voor elke ondersteunde versie van CentOS, RHEL, Debian en Ubuntu. Het universele installatiepakket combineert acht verschillende pakketten in één pakket, waardoor de installatie op Linux eenvoudiger wordt. Het universele pakket installeert de benodigde afhankelijkheden voor de doeldistributie en maakt de platformspecifieke wijzigingen om PowerShell-werk te maken.
Microsoft Update-ondersteuning voor Windows
PowerShell 7.2 voegt ondersteuning toe voor Microsoft Update. Wanneer u deze functie inschakelt, krijgt u de nieuwste PowerShell 7-updates in uw traditionele beheerstroom voor Windows Update (WU), of dat nu met Windows Update voor Bedrijven, WSUS, SCCM of het interactieve WU-dialoogvenster in Instellingen.
Het MSI-pakket van PowerShell 7.2 bevat de volgende opdrachtregelopties:
USE_MU- Deze eigenschap heeft twee mogelijke waarden:1(standaard) - Kiest voor het bijwerken via Microsoft Update of WSUS0- Kies niet voor het bijwerken via Microsoft Update of WSUS
ENABLE_MU1(standaard) - Opts into using Microsoft Update the Automatic Updates or Windows Update0- Kies niet voor het gebruik van Microsoft Update de automatische Updates of Windows Update
Experimentele functies
De volgende experimentele functies zijn nu basisfuncties in deze release:
Microsoft.PowerShell.Utility.PSImportPSDataFileSkipLimitCheck- zie Import-PowerShellDataFileMicrosoft.PowerShell.Utility.PSManageBreakpointsInRunspacezie Experimentele functies gebruikenPSAnsiRendering- zie about_ANSI_TerminalsPSAnsiProgress- zie about_ANSI_TerminalsPSCultureInvariantReplaceOperator- zie Experimentele functies gebruikenPSNotApplyErrorActionToStderr- zie Experimentele functies gebruikenPSUnixFileStat- zie Experimentele functies gebruiken
De volgende experimentele functie is toegevoegd in deze release:
PSNativeCommandArgumentPassing : wanneer deze experimentele functie is ingeschakeld, gebruikt PowerShell de eigenschap ArgumentList van het Object StartProcessInfo in plaats van ons huidige mechanisme voor het reconstrueren van een tekenreeks bij het aanroepen van een systeemeigen uitvoerbaar bestand. Met deze functie wordt een nieuwe automatische variabele
$PSNativeCommandArgumentPassingtoegevoegd waarmee u het gedrag tijdens runtime kunt selecteren.PSAnsiRenderingFileInfo : ANSI-kleuraanpassing van bestandsgegevens toestaan.
PSLoadAssemblyFromNativeCode : maakt een API beschikbaar om het laden van assembly's vanuit systeemeigen code toe te staan.
Zie Experimentele functies gebruiken voor meer informatie over de experimentele functies.
Verbeterde tabvoltooiingen
PowerShell 7.2 bevat verschillende verbeteringen voor tabvoltooiing. Deze wijzigingen omvatten bugfixes en verbeteren de bruikbaarheid.
- Tabvoltooiing voor niet-gelokaliseerde onderwerpen oplossen (#15265) (Bedankt @MartinGC94)
- Oplossing voor het behandelen van splatting als positionele parameter in voltooiingen (#14623) (Bedankt @MartinGC94)
- Voltooiingen toevoegen voor help-trefwoorden op basis van opmerkingen (#15337) (Bedankt @MartinGC94)
- Voltooiing toevoegen voor vereist instructies (#14596) (Bedankt @MartinGC94)
- Tabbladvoltooiing toegevoegd voor weergaveparameter van cmdlets Format-* (#14513) (Bedankt @iSazonov)
PSReadLine 2.1 Predictive IntelliSense
PSReadLine 2.1 heeft API's geïntroduceerd CommandPrediction waarmee een framework wordt ingesteld voor het bieden van voorspellingen voor het voltooien van de opdrachtregel. Met de API kunnen gebruikers volledige opdrachten detecteren, bewerken en uitvoeren op basis van overeenkomende voorspellingen uit de geschiedenis van de gebruiker.
Predictive IntelliSense is standaard uitgeschakeld. Voer de volgende opdracht uit om voorspellingen in te schakelen:
Set-PSReadLineOption -PredictionSource History
DSC scheiden van PowerShell 7 om toekomstige verbeteringen mogelijk te maken
De PSDesiredStateConfiguration-module is verwijderd uit het PowerShell 7.2-pakket en wordt nu gepubliceerd naar de PowerShell Gallery. Hierdoor kan de PSDesiredStateConfiguration-module onafhankelijk van PowerShell worden ontwikkeld en kunnen gebruikers versies van PowerShell en PSDesiredStateConfiguration combineren en vergelijken voor hun omgeving. PsDesiredStateConfiguration 2.0.5 installeren vanuit de PowerShell Gallery:
Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99
Belangrijk
Zorg ervoor dat u de parameter MaximumVersion opneemt of u kunt versie 3 (of hoger) van PSDesireStateConfiguration installeren die aanzienlijke verschillen bevat.
Engine-updates
- Functie toevoegen
LoadAssemblyFromNativeMemoryom assembly's in het geheugen te laden vanaf een systeemeigen PowerShell-host door ontwaakt · Pull-aanvraag #14652
Belangrijke wijzigingen en verbeteringen
- De PSDesiredStateConfiguration is verwijderd uit het PowerShell 7.2-pakket
- PowerShell Linux-deb- en RPM-pakketten universeel maken (#15109)
- Experimentele functie
PSNativeCommandArgumentPassing: ArgumentList gebruiken voor systeemeigen uitvoerbare aanroep (#14692) - Zorg ervoor dat
-PipelineVariablealle uitvoer van script-cmdlets (#12766) is ingesteld - Waarschuwing verzenden als
ConvertTo-Jsonde waarde -Diepte overschrijdt (#13692) - Alias D van -Directory-switch verwijderen CL-General #15171
- Detectie van veranderlijke waardetypen verbeteren (#12495)
- Beperken
New-Objectin nolanguagemodus onder vergrendeling (#14140) - Configuratie voor het weigeren van AppLocker afdwingen voordat de configuratie van het uitvoeringsbeleid wordt overgeslagen (#15035)
- Wijzigen
FileSystemInfo.Targetvan een CodeProperty in een AliasProperty die verwijst naarFileSystemInfo.LinkTarget(#16165)