Neuerungen in PowerShell 7.5

PowerShell 7.5-preview.5 enthält die folgenden Features, Updates und bahnbrechenden Änderungen. PowerShell 7.5 basiert auf .NET 9.0.100-rc.1.

Eine umfassende Liste der Änderungen finden Sie im Änderungsprotokoll im GitHub-Repository.

Aktuelle Änderungen

  • Die Parameter -OlderThan und -NewerThan werden für Test-Path bei Verwendung von PathType und des Datumsbereichs behoben. (#20942) (Danke an @ArmaanMcleod!)
    • Zuvor wäre -OlderThan ignoriert worden, wenn diese zusammen angegeben worden wären.
  • Ändern Sie den Standardwert New-FileCatalog -CatalogVersion in 2 (#20428) (Danke an @ThomasNieto!)
  • Blockieren von Hilfe von Netzwerkstandorten in eingeschränkten Remotingsitzungen (#20593)
  • Das Windows-Installationsprogramm merkt sich jetzt die verwendeten Installationsoptionen und verwendet sie zum Initialisieren von Optionen für die nächste Installation (#20420) (Vielen Dank @reduckted!)
  • ConvertTo-Json serialisiert BigInteger jetzt als Zahl (#21000) (Danke @jborean93!)

Aktualisierte Module

PowerShell 7.5-preview.5 enthält die folgenden aktualisierten Module:

  • Microsoft.PowerShell.PSResourceGet v1.1.0-preview2
  • PSReadLine v2.3.5

Verbesserungen bei der TAB-Vervollständigung

Vielen Dank an @ArmaanMcleod und alle anderen für die Verbesserung der Vervollständigung mit der TAB-Taste.

  • Fall back to type inference when hashtable key-value cannot be retrieved from safe expression (#21184) (Thanks @MartinGC94!)
  • Beheben der Regression beim Ausführen der Typrückleitung für $_ (#21223) (Danke) @MartinGC94!)
  • Erweitern ~ auf $home Windows mit Abschluss der Registerkarte (#21529)
  • Führen Sie den Vorgang beim Deklarieren des Parameternamens und des Klassenmememers (#21182) (Danke) nicht aus. @MartinGC94!)
  • Verhinderung eines Fallbacks auf den Dateiabschluss bei Vervollständigung mit der TAB-TASTE bei Typnamen (#20084) (Danke an @MartinGC94)
  • Argumentvervollständigung zu -Version für Set-StrictMode hinzugefügt (#20554) (Danke an @ArmaanMcleod!)
  • -Verb-Argumentvervollständigung für Get-Verb/ Get-Command hinzugefügt und Get-Verb umgestaltet (#20286) (Danke an @ArmaanMcleod)
  • -Verb-Argumentvervollständigung für Start-Process hinzugefügt (#20415) (Danke an @ArmaanMcleod)
  • -Scope-Argumentvervollständigung für die Befehle *-Variable, *-Alias und *-PSDrive hinzugefügt (#20451) (Danke an @ArmaanMcleod)
  • -Module-Abschluss für die Save-Help/Update-Help-Befehle hinzugefügt (#20678) (Danke @ArmaanMcleod)

Neue Cmdlets

  • Hinzufügen der Cmdlets ConvertTo-CliXml und ConvertFrom-CliXml (#21063) (Danke an @ArmaanMcleod!)

Verbesserungen bei Web-Cmdlets

  • Problembehebung, damit -PassThru und -Outfile zusammen funktionieren (#24086) (Danke an @jshigetomi!)
  • Hinzufügen der Eigenschaft OutFile in WebResponseObject (#24047) (Danke an @jshigetomi!)
  • Anzeigen des Dateinamens in Invoke-WebRequest -OutFile -Verbose (#24041) (Danke an @jshigetomi!)
  • Problembehebung für WebCmdlets, wenn -Body angegeben ist, aber ContentType nicht (#23952) (Danke an @CarloToso!)
  • Behoben: Invoke-WebRequest zeigt nun die richtige Größe an, wenn -Resume angegeben wird (#20207) (Danke an @LNKLEO!).
  • Behoben: Web-Cmdlets lassen nun zu, dass WinForm-Apps ordnungsgemäß arbeiten (#20606).

Weitere Verbesserungen an Cmdlets

  • Ermöglichen, dass -NoRestart mit Register-PSSessionConfiguration funktioniert (#23891)
  • Hinzufügen der Optionen IgnoreComments und AllowTrailingCommas zum Cmdlet Test-Json (#23817) (Danke an @ArmaanMcleod!)
  • Get-Help meldet Parameter mit dem Attribut ValueFromRemainingArguments möglicherweise als pipelinefähig (#23871)
  • Ändern des Typs LineNumber von ulong in Select-String (#24075) (Danke an @Snowman-25!)
  • Get-Process: Administratoranforderung für -IncludeUserName (#21302) entfernen (Vielen Dank @jborean93!)
  • Fehler Test-Path -IsValid beim Überprüfen auf ungültige Pfad- und Dateinamenzeichen (#21358)
  • Hinzufügen RecommendedAction zur ConciseView Fehlerberichterstattung (#20826) (Danke @JustinGrote!)
  • Statusleiste für Remove-Item Cmdlet (#20778) hinzugefügt (Danke) @ArmaanMcleod!)
  • Behoben: Test-Connection aufgrund von .NET 8-Änderungen (#20369)
  • Behoben: Get-Service-Fehlermeldung ohne Abbruch, um die Kategorie einzuschließen (#20276)
  • Zu New-Guid werden die Parameter -Empty und -InputObject hinzugefügt. (#20014) (Vielen Dank an @CarloToso!))
  • Der Alias r wird dem Parameter -Recurse für den Get-ChildItem-Befehl hinzugefügt (#20100) (Danke an @kilasuit!).
  • LP wird den LiteralPath-Aliasen hinzugefügt, da Funktionen dies nicht aufweisen (#20820).
  • Lokalisierungsfallback wird Import-LocalizedData hinzugefügt (#19896) (Danke an @chrisdent-de!).
  • Aliases wird den Eigenschaften hinzugefügt, die angezeigt werden, wenn der Hilfeinhalt des von Get-Help zurückgegebenen Parameters formatiert wird (#20994).
  • HelpUri wird zu Remove-Service hinzugefügt (#20476).
  • Behoben: Abschlussabsturz für den SCCM-Anbieter (#20815, #20919, #20915) (Danke an @MartinGC94!)
  • Behoben: Regression in Get-Content, wenn -Tail 0 und -Wait zusammen verwendet werden (#20734) (Danke an @CarloToso!)
  • Behoben: Start-Process -PassThru, um sicherzustellen, dass das Objekt Process auf die Eigenschaft ExitCode zugreifen kann (#20749) (Danke an @CodeCyclone!).
  • Behoben: Group-Object verwendet nun aktuelle Kultur für die Ausgabe (#20608).
  • Behoben: Group-Object-Ausgabe verwendet interpolierte Zeichenfolge (#20745) (Danke an @mawosoft!).
  • Behoben: Rendering von DisplayRoot für das Netzwerk PSDrive (#20793)
  • Behoben: Copy-Item-Fortschritt wird nur als abgeschlossen angezeigt, wenn alle Dateien kopiert wurden (#20517).
  • Behoben: Regression des UNC-Pfadabschlusses (#20419) (Danke an @MartinGC94!)
  • Fehlermeldung, wenn ungültige -ExecutionPolicy an pwsh übergeben wird (#20460)
  • Hinzufügen der Module WinGetCommandNotFound und CompletionPredictor zum Nachverfolgen der Nutzung (#21040)
  • Hinzufügen des Parameters DateKind zu ConvertFrom-Json (#20925) (Vielen Dank an @jborean93!)
  • Hinzufügen von DirectoryInfo zum „OutputType“ für „New-Item“ (#21126) (Vielen Dank an @MartinGC94!)
  • Problembehebung für Get-Error-Serialisierung von Arraywerten (#21085) (Danke an @jborean93!)
  • Problembehebung für Test-ModuleManifest, damit ein UNC-Pfad verwendet werden kann (#24115)
  • Problembehebung für Get-TypeData, damit sofort in die Pipeline geschrieben wird, anstatt zuerst Daten zu sammeln (#24236) (Danke an @MartinGC94)
  • Hinzufügen des Parameters -Force zu den Cmdlets Resolve-Path und Convert-Path zur Unterstützung ausgeblendeter Platzhalterdateien #20981 (Danke an @ArmaanMcleod!)

Engine-Verbesserungen

  • Explizites Starten und Beenden der ANSI-Fehlerfarbe (#24065) (Danke an @JustinGrote!)
  • Verbessern der .NET-Überladungsdefinition generischer Methoden (#21326) (Danke an @jborean93!)
  • Optimieren des Vorgangs += für eine Auflistung, wenn es sich um ein Objektarray handelt (#23901) (Danke an @jborean93!)
  • Hinzufügen von Telemetrie, um beim Importieren eines Moduls nach bestimmten Tags zu suchen (#20371)
  • Hinzufügen von PSAdapter und ConsoleGuiTools zum Laden der Telemetriepositivliste des Moduls (#20641)
  • Hinzufügen des Winget-Moduls zum Nachverfolgen der Nutzung (#21040)
  • Sicherstellen, dass der Dateiname nicht NULL ist, wenn WDAC ETW-Ereignisse protokolliert werden (#20910) (Danke an @jborean93!)
  • Behoben: Vier Regressionen, die vom WDAC-Protokollierungsfeature eingeführt wurden (#20913)
  • Eingabe-, Ausgabe- und Fehlerhandles bleiben nicht festgelegt, wenn sie nicht weitergeleitet werden (#20853).
  • Behoben: Implizite Remotingproxy-Cmdlets, die auf allgemeine Parameter reagieren (#20367)
  • Modulversion wird in Fehlermeldungen hinzugefügt, wenn das Modul nicht gefunden wird (#20144) (Danke an @ArmaanMcleod!)
  • Behoben: unixmode zur Verarbeitung von setuid und sticky, wenn Datei keine ausführbare Datei ist (#20366)
  • Fix mit Assembly zum Verwenden von Path.Combine beim Erstellen von Assemblypfaden (#21169)
  • Überprüfen des Werts für die Verwendung von Namespaces während semantischer Überprüfungen, um die Deklarierung von ungültigen Namespaces zu verhindern (#21162)
  • Handhabung des globalen Tools speziell beim Voranstellen von $PSHome in PATH (#24228)

Experimentelle Features

Die folgenden experimentellen Features wurden in PowerShell 7.5-preview.5 in Mainstreamfeatures konvertiert:

Die folgenden experimentellen Features sind in PowerShell 7.5-preview.5 enthalten: