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 WSUS
    • 0 - Kies niet voor het bijwerken via Microsoft Update of WSUS
  • ENABLE_MU
    • 1(standaard) - Opts into using Microsoft Update the Automatic Updates or Windows Update
    • 0- 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:

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 $PSNativeCommandArgumentPassing toegevoegd 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 LoadAssemblyFromNativeMemory om 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 -PipelineVariable alle uitvoer van script-cmdlets (#12766) is ingesteld
  • Waarschuwing verzenden als ConvertTo-Json de waarde -Diepte overschrijdt (#13692)
  • Alias D van -Directory-switch verwijderen CL-General #15171
  • Detectie van veranderlijke waardetypen verbeteren (#12495)
  • Beperken New-Object in nolanguagemodus onder vergrendeling (#14140)
  • Configuratie voor het weigeren van AppLocker afdwingen voordat de configuratie van het uitvoeringsbeleid wordt overgeslagen (#15035)
  • Wijzigen FileSystemInfo.Target van een CodeProperty in een AliasProperty die verwijst naar FileSystemInfo.LinkTarget (#16165)