Wat is er nieuw in PowerShell 7.2?

PowerShell 7.2 is de volgende LTS-release (Long Term Servicing) 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 Predictive 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 levenscyclus van PowerShell-ondersteuning 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, 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.

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): kiest u voor het gebruik van Microsoft Update de automatische updates of 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 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 $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.

  • Tabbladvoltooiing voor niet-gelokaliseerde onderwerpen oplossen (#15265) (Bedankt @MartinGC94)
  • Oplossing dat splatting wordt behandeld als positionele parameter in voltooiingen (#14623) (Bedankt @MartinGC94)
  • Voltooiingen toevoegen voor hulptrefwoorden op basis van opmerkingen (#15337) (Bedankt @MartinGC94)
  • Voltooiing toevoegen voor vereist instructies (#14596) (Bedankt @MartinGC94)
  • Tabbladvoltooiing toegevoegd voor weergaveparameter format-* cmdlets (#14513) (Bedankt) @iSazonov)

PSReadLine 2.1 Predictive IntelliSense

PSReadLine 2.1 heeft API's geïntroduceerd CommandPrediction 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

  • Functie toevoegen LoadAssemblyFromNativeMemory om assembly's in het geheugen te laden vanaf een systeemeigen PowerShell-host door het ontsleutelen · 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 CL-General #15171 verwijderen
  • Detectie van veranderlijke waardetypen verbeteren (#12495)
  • Beperken New-Object in noLanguage-modus 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)