Delen via


Wat is er nieuw in PowerShell 7.2?

PowerShell 7.2 is de volgende LTS-release (Long Term Servicing) en 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
  • Microsoft Update-ondersteuning in Windows
  • 2 nieuwe experimentele functies
    • Verbeterde ondersteuning voor systeemeigen opdrachtargumenten
    • Ondersteuning voor ANSI FileInfo-kleuren
  • Verbeterde tabvoltooiingen
  • PSReadLine 2.1 met voorspellende IntelliSense
  • 7 experimentele functies 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 powerShell-ondersteuningslevenscyclusvoor up-to-datuminformatie 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, 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 Windows Update-beheerstroom (WU), ongeacht of dat met Windows Update voor Bedrijven, WSUS, SCCM of het interactieve WU-dialoogvenster in Instellingen is.

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 WSUS
    • 0: u kunt zich niet aanmelden voor het bijwerken via Microsoft Update of WSUS
  • ENABLE_MU
    • 1 (standaard): kiest u voor het gebruik van Microsoft Update de automatische updates of Windows Update
    • 0: Kies niet voor het gebruik van Microsoft Update, Automatische Updates of Windows Update.

Experimentele functies

De volgende experimentele functies zijn nu basisfuncties in deze release:

De volgende experimentele functie is toegevoegd in deze release:

  • PSNativeCommandArgumentPassing- Wanneer deze experimentele functie is ingeschakeld, gebruikt PowerShell de eigenschap ArgumentList van het StartProcessInfo object 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 toegevoegd $PSNativeCommandArgumentPassing waarmee u het gedrag tijdens runtime kunt selecteren.

  • PSAnsiRenderingFileInfo - ANSI-kleuraanpassing van bestandsgegevens toestaan.

  • PSLoadAssemblyFromNativeCode- : hiermee wordt een API beschikbaar gemaakt om het laden van assembly's vanuit systeemeigen code mogelijk te maken.

Voor meer informatie over de experimentele functies, zie Experimentele functies gebruiken.

Verbeterde tab-completie

PowerShell 7.2 bevat verschillende verbeteringen voor tabvoltooiing. Deze wijzigingen omvatten bugfixes en verbeteren de bruikbaarheid.

  • Tabvoltooiing opgelost voor niet-gelokaliseerde about*-onderwerpen (#15265) (Bedankt @MartinGC94))
  • Oplossing voor het behandelen van splatting als positionele parameter in voltooiingen (#14623) (Bedankt @MartinGC94)
  • Voeg voltooiingen toe voor helptrefwoorden op basis van opmerkingen (#15337) (Bedankt @MartinGC94)
  • Voeg voltooiing toe voor vereiste verklaringen (#14596) (Bedankt @MartinGC94)
  • Tabbladvoltooiing toegevoegd voor weergaveparameter format-* cmdlets (#14513) (Bedankt @iSazonov)

PSReadLine 2.1 Predictive IntelliSense

PSReadLine 2.1 heeft CommandPrediction API's geïntroduceerd die een framework vormen voor het leveren van voorspellingen voor voltooiing 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.

Voorspellende 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 is 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 afstemmen voor hun omgeving. PsDesiredStateConfiguration 2.0.5 installeren vanuit de PowerShell Gallery:

Install-Module -Name PSDesiredStateConfiguration -Repository PSGallery -MaximumVersion 2.99

Belangrijk

Vergeet niet de parameter MaximumVersion op te nemen of u kunt versie 3 (of hoger) van PSDesireStateConfiguration installeren die aanzienlijke verschillen bevat.

Engine-updates

  • Voeg LoadAssemblyFromNativeMemory functie toe om assembly's in het geheugen te laden vanuit een systeemeigen PowerShell-host door awakecoding · Pull Request #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 -PipelineVariable is ingesteld voor alle uitvoer van cmdlets in scripts (#12766)
  • Waarschuwing verzenden als ConvertTo-Json groter is dan -Depth waarde (#13692)
  • Alias D van -Directory switch verwijderen CL-General #15171
  • Detectie van veranderlijke waardetypen verbeteren (#12495)
  • New-Object beperken in NoLanguage modus onder vergrendeling (#14140)
  • Configuratie voor het weigeren van AppLocker afdwingen voordat de omzeiling van het uitvoeringsbeleid wordt geconfigureerd (#15035)
  • Wijzig FileSystemInfo.Target van een CodeProperty- in een AliasProperty- die verwijst naar FileSystemInfo.LinkTarget (#16165)