Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die PowerShell Core 6.2-Version konzentrierte sich auf Leistungsverbesserungen, Fehlerbehebungen sowie kleinere Cmdlet- und Sprachverbesserungen, die die Qualität verbessern. Um eine vollständige Liste der Verbesserungen zu sehen, schauen Sie sich unsere detaillierten Changelogs auf GitHub an.
Experimentelle Funktionen
Früher haben wir die Unterstützung für experimentelle Funktionen aktiviert. In der Version 6.2 haben wir vier experimentelle Funktionen, die wir ausprobieren können. Bitte gebt Feedback, damit wir Verbesserungen vornehmen und entscheiden können, ob es sich lohnt, die Funktion zum Mainstream zu machen.
Nutze Get-ExperimentalFeature sie, um eine Liste verfügbarer experimenteller Funktionen zu erhalten. Du kannst diese Funktionen mit Enable-ExperimentalFeature und Disable-ExperimentalFeatureaktivieren oder deaktivieren.
Command Not Found Vorschläge
Diese Funktion verwendet Fuzzy-Matching, um Vorschläge für Befehle oder Cmdlets zu finden, die du möglicherweise falsch eingegeben hast.
Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion
Example
In diesem Beispiel ist der falsch geschriebene cmdlet-Name unscharf und stimmt mit mehreren Vorschlägen von am wahrscheinlichsten bis am wenigsten wahrscheinlich überein.
Get-Commnd
Get-Commnd : The term 'Get-Commnd' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
At line:1 char:1
+ Get-Commnd
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Commnd:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [4,General]: The most similar commands are: Get-Command, Get-Content, Get-Job, Get-Module,
Get-Event, Get-Host, Get-Member, Get-Item, Set-Content.
Implizite Rückstrahlungs-Batching
Bei der Verwendung impliziter Fernsteuerung in einer Pipeline behandelt PowerShell jeden Befehl in der Pipeline unabhängig. Objekte werden wiederholt serialisiert und de-serialized zwischen Client und entferntem System über die Ausführung der Pipeline hinweg.
Mit dieser Funktion analysiert PowerShell die Pipeline, um festzustellen, ob der Befehl sicher ausgeführt werden kann und ob er auf dem Zielsystem existiert. Wenn es zutrifft, führt PowerShell die gesamte Pipeline remote aus und serialisiert de-serializes die Ergebnisse nur an den Client zurück.
Enable-ExperimentalFeature -Name PSImplicitRemotingBatching
Ein realer Test über Get-Process | Sort-Object Localhost verringert sich von 10–15 Sekunden auf 20–30 Millisekunden. Die Funktion muss nur im Client aktiviert sein. Auf dem Server sind keine Änderungen erforderlich.
Temporärer Antrieb
Enable-ExperimentalFeature -Name PSTempDrive
Wenn Sie PowerShell Core auf verschiedenen Betriebssystemen verwenden, werden Sie feststellen, dass die Umgebungsvariable zur Suche nach dem temporären Verzeichnis unter Windows, macOS und Linux unterschiedlich ist! Mit dieser Funktion erhält man ein PSDrive , das Temp: automatisch auf den temporären Ordner des verwendeten Betriebssystems zugeordnet wird.
Example
PS> "Hello World!" > Temp:/hello.txt
PS> Get-Content Temp:/hello.txt
Hello World!
Beachte, dass native Dateibefehle (wie ls unter Linux) PSDrives nicht kennen und diese Temp: Festplatte nicht sehen.
Abkürzungserweiterung
PowerShell-Cmdlets sollen beschreibende Substantive besitzen. Dies führt zu langen Namen, die schwerer zu tippen sind. Mit dieser Funktion kannst du einfach die Großbuchstaben des Cmdlets eingeben und mit Tab-Completion ein Treffer finden.
Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion
Example
PS> i-arsavsf
Wenn du auf Tab klickst und das Azure PowerShell Az-Modul installiert hast, wird es automatisch ergänzt zu:
PS> Import-AzRecoveryServicesAsrVaultSettingsFile
Hinweis
Diese Funktion soll interaktiv genutzt werden. Abgekürzte Formen von Cmdlets können nicht ausgeführt werden. Diese Funktion ersetzt keine Aliasnamen.
Änderungen werden abgebrochen
- Beheben Sie das
Write-OutputVerhalten-NoEnumerate, damit es mit Windows PowerShell konsistent ist. (#9069) - Mach
Join-String -InputObject 1,2,3Ergebnis gleich Ergebnis1,2,3 | Join-String(#8611) (Danke @sethvs!) - Hinzufügen
-StablezuSort-Objectund verwandte Tests (#7862) (Danke @KirkMunro!) - Cmdlet verbessern
Start-Sleep, um Bruchteile von Sekunden zu akzeptieren (#8537) (Danke @Prototyyppi!) - Ändere die Hashtabelle so, dass OrdinalIgnoreCase
case-insensitivein allen Kulturen verwendet wird (#8566) -
LiteralPath fixieren
Import-Csv, um an dieGet-ChildItemAusgabe zu binden (#8277) (Danke@iSazonov!) - Überspringt keine Spalte ohne Namen mehr, wenn in (#7899) (Danke) doppelter Anführungszeichen verwendet
Import-Csvwird. @Topping!) -
Get-ExperimentalFeatureSchalter hat-ListAvailablenicht mehr (#8318) - Der Debug-Parameter setzt
$DebugPreferencejetzt auf Fortsetzen statt Untersuchen (#8195) (Danke @KirkMunro!) - Honor
-OutputFormat, wenn es im nicht-interaktiven, umgeleiteten, codierten Befehl mit pwsh angegeben ist (#8115) - Laden Sie die Assembly vom Modulbasispfad, bevor Sie versuchen, von der GAC zu laden (#8073)
- Tilde aus Linux-Vorschaupaketen entfernen (#8244)
- Umzugsbearbeitung vor
-WorkingDirectoryder Verarbeitung der Profile (#8079) - Keine Umgebungsvariable bei
PATHEXTUnix hinzufügen (#7697) (Danke @iSazonov!)
Bekannte Probleme
- Das Fernschreiben auf Windows IoT ARM-Plattformen hat ein Problem beim Laden von Modulen. Siehe (#8053)
Allgemeine Updates und Korrekturen
- Aktivieren Sie die groß- und kleinschreibungsunsensitive Tab-Vervollständigung für Dateien und Ordner im kleinschreibungssensitiven Dateisystem (#8128)
- Machen Sie PSVersionInfo.PSVersion und PSVersionInfo.PSEdition öffentlich (#8054) (Danke @KirkMunro!)
- Typinferenz für
$_/$PSItemIn-Blöckecatch{ }hinzufügen (#8020) (Danke @vexx32!) - Beheben Sie die Inferenz des statischen Methodenaufruftyps (#8018) (Danke @SeeminglyScience!)
- Erstelle abgeleitete Typen für
Select-Object,Group-Object, PSObject und Hashtable (#7231) (Danke @powercode!) - Unterstützende Aufrufmethode mit
ByRef-likeTypparametern (#7721) - Behandeln Sie den Fall, in dem der Windows-PowerShell-Modulpfad bereits im PSModulePath der Umgebung liegt (#7727)
- Aktivieren Sie
SecureStringCmdlets für Nicht-Windows, indem Sie den Klartext speichern (#9199) - Verbesserung der Fehlermeldung auf Nicht-Windows beim Import von CliXML mit Securestring (#7997)
- Parameter hinzufügen ReplyTo zu
Send-MailMessage(#8727) (Danke @replicaJunction!) - Veraltete Nachricht hinzufügen zu
Send-MailMessage(#9178) - Lösung
Restart-Computer, an der man arbeitenlocalhostkann, wenn WinRM nicht vorhanden ist (#9160) - Mach
Start-Jobden Throw-Terminationsfehler, wenn PowerShell gehostet wird (#9128) - Fügen Sie C#-ähnliche Beschleuniger und Suffixe für ushort, uint, ulong und kurze Literale hinzu (#7813) (Danke @vexx32!)
- Neue Suffixe für numerische Literale hinzugefügt – siehe about_Numeric_Literals (#7901) (Danke @vexx32!)
- Korrekt den Auswirkungsgrad melden, wenn SupportsShouldProcess nicht auf 'true' gesetzt ist (#8209) (Danke @vexx32!)
- Probleme mit der Behebung von Charsets in Web-Cmdlets (#8742) (Danke @markekraus!)
- Problem mit Web-Cmdlets beheben
100-continue(#8679) (Danke @markekraus!) - Dateiblockierungsproblem mit Web-Cmdlets (#7676) behoben (Danke @Claustn!)
- Problem mit der Codepage-Parsing in
Invoke-RestMethod(#8694) beheben (Danke @markekraus!) - Refactor
ConvertTo-Json, um JsonObject.ConvertToJson als öffentliche API bereitzustellen (#8682) - Fügen Sie mit -Depth konfigurierbare maximale Tiefe
ConvertFrom-Jsonhinzu (#8199) (Danke @louistio!) - EscapeHandling-Parameter im
ConvertTo-Jsoncmdlet hinzufügen (#7775) (Danke @iSazonov!) - Hinzufügen
-CustomPipeNamezu pwsh undEnter-PSHostProcess(#8889) - Aktivieren Sie das Erstellen relativer symbolischer Links unter Windows mit
New-Item(#8783) - Erlauben Sie Windows-Nutzern im Entwicklermodus, Symlinks ohne Elevation zu erstellen (#8534)
- Aktivieren
Write-Informationzum Akzeptieren$null(#8774) - Korrektur
Get-Helpfür erweiterte Funktionen mit MAM Hilfeinhalt (#8353) - Beheben Sie
Get-Helpdas PSTypeName-Problem mit -Parameter, wenn nur ein Parameter deklariert ist (#8754) (Danke @pougetat!) - Token-Berechnungskorrektur für
Get-HelpAusführung auf ScriptBlock zur Kommentarhilfe. (#8238) (Danke @hubuk!) - Ändere
Get-HelpCmdlet -Parameter Parameter, sodass es String-Arrays akzeptiert (#8454) (Danke @sethvs!) - PAGER auflösen, wenn sein Pfad Spaces enthält (#8571) (Danke @pougetat!)
- Fügen Sie in der Funktion 'Hilfe' eine Eingabeaufforderung hinzu
less, um dem Benutzer das Beenden zu erklären (#7998) - Unterstützende Enum- und Char-Typen im
Format-Hexcmdlet hinzufügen (#8191) (Danke @iSazonov!) - SollteProcess aus
Format-Hex(#8178) entfernen - Füge neue Offset- und Count-Parameter
Format-Hexhinzu und refaktoriere das Cmdlet (#7877) (Danke @iSazonov!) - Erlaube 'name' als Alias-Schlüssel für 'label' in
ConvertTo-Html, erlaube den 'width'-Eintrag als ganzzahlige (#8426) (Danke @mklement0!) - Mach es in
ConvertTo-Html(#8427) wieder möglich, dass skriptblockbasierte berechnete Eigenschaften funktionieren (Danke) @mklement0!) - Fügen Sie das CMDLET
Join-Stringzum Erstellen von Text aus Pipeline-Eingaben hinzu (#7660) (Danke @powercode!) - Korrektur der
Join-StringFormatString-Parameterlogik des Cmdlets (#8449) (Danke @sethvs!) - Wechsel
Clear-Hostzurück zum Verwenden$RAWUIund Klarmachen über Fernsteuerung (#8609) - Ändere
Clear-Hostauf einfach aufgerufen[console]::clearund entferne das Clear Alias aus Unix (#8603) - LiteralPath fixieren
Import-Csv, um an dieGet-ChildItemAusgabe zu binden (#8277) (Danke @iSazonov!) - Die Hilfefunktion sollte für AliasHelpInfo (#8552) keinen Pager verwenden.
- Hinzufügen
-UseMinimalHeaderzurStart-TranscriptMinimierung des Transkript-Headers (#8402) (Danke @lukexjeremy!) - Addieren
Enable-ExperimentalFeatureundDisable-ExperimentalFeatureCmdlets (#8318) - Stellen Sie alle Cmdlets aus PSDiagnostics frei, falls logman.exe verfügbar ist (#8366)
-
Entfernen Sie den Persisten-Parameter von
New-PSDriveder Plattformnon-Windows(#8291) (Danke@lukexjeremy!) - Unterstützung hinzufügen für
cd +(#7206) (Danke @bergmeister!) - Aktivieren
Set-Location -LiteralPathSie die Arbeit mit Ordnern namens - und + (#8089) -
Test-Pathgibt zurück,$falsewenn ein leerer oder$nullPfadwert angegeben ist (#8080) (Danke @vexx32!) - Erlaubt es, dass der dynamische Parameter zurückgegeben wird, auch wenn der Pfad keinem Anbieter entspricht (#7957)
- Unterstützung
Get-PSHostProcessInfoundEnter-PSHostProcessauf Unix-Plattformen (#8232) - Zuweisungen im
Get-ContentCMDLET reduzieren (#8103) (Danke @iSazonov!) - Aktivieren Sie
Add-Contentdas Teilen des Lesezugriffs mit anderen Tools beim Schreiben von Inhalten (#8091) -
Get/Add-Contentwirft verbesserten Fehler beim Zielen eines Containers (#7823) (Danke @kvprasoon!) - Füge
-Name,-NoUserOverridesund-ListAvailableParameter zumGet-Culturecmdlet hinzu (#7702) (Danke @iSazonov!) - Fügen Sie ein einheitliches Attribut zur Komplettierung des Codierungsparameters hinzu. (#7732) (Danke @ThreeFive-O!)
- Erlauben Sie numerische IDs und Namen registrierter Codepages in den Kodierungsparametern (#7636) (Danke @iSazonov!)
- Behebung
Rename-Item -Pathmit Wildcard-Charakter (#7398) (Danke @kwkam!) - Wenn eine
Start-TranscriptDatei existiert, leert man die Datei statt löscht (#8131) (Danke @paalbra!) - Erstelle
Add-TypeOpen-Source-Dateien mit FileAccess.Read und FileShare.Read explizit (#7915) (Danke @IISResetMe!) - Korrektur
Enter-PSSession -ContainerIdfür das neueste Windows (#7883) - Ensure NestedModules-Eigenschaft wird von
Test-ModuleManifest(#7859) ausgefüllt - Hülle zu
Get-Date-UFormat hinzufügen%F(#7630) (Danke@britishben!) - Lösung
Set-Service -Status Stopped, um Dienste mit Abhängigkeiten zu stoppen (#5525) (Danke @zhenggu!)