PowerShell 7 Preview 5 veröffentlicht, hier sind die Neuerungen
Microsoft veröffentlicht eine neue Vorschauversion der PowerShell-Skriptsprache der nächsten Generation. Interessante Nutzer können sich die Preview 5 von PowerShell 7 zulegen. Es enthält eine Reihe neuer Funktionen und viele Fehlerbehebungen sowohl von der Community als auch vom PowerShell-Team.
PowerShell ist eine erweiterte Form der Eingabeaufforderung. Es wird mit einem riesigen Satz gebrauchsfertiger Cmdlets erweitert und bietet die Möglichkeit, .NET Framework/C# in verschiedenen Szenarien zu verwenden. Windows enthält ein GUI-Tool, PowerShell ISE, das das Bearbeiten und Debuggen von Skripts auf nützliche Weise ermöglicht.
Werbung
PowerShell 7 ist das erste Befehlszeilen-Shell- und Skriptsprachenpaket basierend auf .NET Core 3.0. Es kann mit 90+% des Posteingangs von Windows kompatibel sein PowerShell-Module durch Nutzung von Änderungen in .NET Core 3.0, die viele APIs zurückbringen, die von Modulen benötigt werden, die auf .NET Framework basieren, damit sie mit .NET Core funktionieren Laufzeit.
Microsoft wird nächsten Monat im November eine weitere Vorschauversion veröffentlichen. Dann, abgesehen von Qualitätsbedenken, wurde im Dezember ein Release Candidate mit dem .NET Core 3.1 endgültige Veröffentlichung. Schließlich erwarten sie die allgemeine Verfügbarkeit von PowerShell 7 im Januar als ihre erste Long Term Servicing-Version.
Zwischen dem Release Candidate und der allgemeinen Verfügbarkeit akzeptiert Microsoft nur kritische Fehlerkorrekturen und es werden keine neuen Funktionen hinzugefügt. Für diese Veröffentlichung, einige Experimentelle Funktionen wird als designstabil und nicht mehr als experimentell angesehen. Dies bedeutet, dass alle zukünftigen Designänderungen für diese Features als Breaking Change angesehen werden.
Neue Funktionen in Vorschau 5
Diese Version enthält eine Reihe neuer Funktionen sowohl von der Community als auch vom PowerShell-Team. Vorschauversionen von PowerShell können parallel zu stabilen Versionen installiert werden, sodass Sie beide verwenden können.
Kettenbetreiber
Das neue Betreiber von Pipelineketten erlauben die bedingte Ausführung von Befehlen, abhängig davon, ob der vorherige Befehl erfolgreich war oder fehlgeschlagen ist. Dies funktioniert sowohl mit nativen Befehlen als auch mit PowerShell-Cmdlets oder -Funktionen. Vor dieser Funktion konnten Sie dies bereits mithilfe von wenn
Aussagen zusammen mit der Überprüfung, ob $?
zeigt an, dass die letzte Anweisung erfolgreich war oder fehlgeschlagen ist. Dieser neue Operator macht dies einfacher und mit anderen Shells konsistent.
Null-Bedingungsoperatoren für Koaleszenz und Zuweisung
In Ihren Skripten müssen Sie häufig überprüfen, ob eine Variable $null oder eine Eigenschaft $null ist, bevor Sie sie verwenden. Die neuen bedingten Nulloperatoren machen dies einfacher.
Das neue ??
Null-Koaleszenz-Operator macht wenn
und anders
Anweisungen, wenn Sie den Wert einer Anweisung abrufen möchten, wenn sie nicht $null ist, oder etwas anderes zurückgeben möchten, wenn sie $null ist. Beachten Sie, dass dies nicht die Prüfung auf einen booleschen Wert von true oder false ersetzt, sondern nur prüft, ob es $null ist.
Das neue ??=
Der bedingte Zuweisungsoperator null macht es einfach, einer Variablen nur dann einen Wert zuzuweisen, wenn sie nicht $null ist.
Benachrichtigung über neue PowerShell-Version
Mithilfe von Telemetrie hat das Team herausgefunden, dass viele Benutzer veraltete PowerShell-Versionen verwenden. Ab PowerShell 7 kündigt die it-Konsole eine neue Version an, sofern verfügbar.
Weitere Details zu dieser Funktion, einschließlich der Deaktivierung im Benachrichtigung über Versionsupdate RFC
Tabulatorvervollständigung für Variablenzuweisung
Mit dieser neuen Funktion können Sie die Tabulatorvervollständigung bei der Variablenzuweisung verwenden und zulässige Werte für Enumerationen oder Variablen mit Typbeschränkungen wie. abrufen [ValidateSet()]
. So lässt es sich leicht wechseln $ErrorActionPreference
oder das neue $ErrorView
(siehe unten) auf gültige Werte, ohne sie eingeben zu müssen.
Format-Hex verbesserte Formatierung
Diese Verbesserung kommt von Joel Sallow Herstellung Format-Hex
nützlicher beim Anzeigen verschiedener Objekttypen in einer Pipeline sowie beim Anzeigen mehrerer Objekttypen.
Get-HotFix ist zurück
Die Get-HotFix
Cmdlet funktioniert nur unter Windows und fragt das System ab, welche Patches installiert wurden. Dies war zuvor in PowerShell Core 6 nicht verfügbar, da es abhängig war von System. Management-Namespace die auf .NET Core 2.x, auf dem PowerShell Core 6.x aufbaut, nicht verfügbar war. .NET Core 3.0, auf dem PowerShell 7 basiert, hat diesen Namespace jedoch zurückgebracht (nur für Windows), sodass wir dieses Cmdlet erneut aktiviert haben.
Aufgrund der Anzahl der Patches, die der Autor auf seiner Windows 7-VM hat, kommt es in diesem Beispiel zu einer Verzögerung beim Erhalten der Ergebnisse.
Select-String setzt Akzente
Das war ein HackIllinois Projekt von Derek Xia die Text inverser Farbe verwendet, um den Text in einer Zeichenfolge hervorzuheben, die den Auswahlkriterien entspricht. Es gibt eine optionale -NoEmphasis
Schalter, um die Betonung zu unterdrücken.
ConciseView für Fehler
Einige Benutzerrückmeldungen, die wir regelmäßig erhalten haben, beziehen sich auf die Menge an rotem Text, die Sie erhalten, wenn Sie in PowerShell auf einen Fehler stoßen.
Die $ErrorView
Mit der Preference-Variable können Sie die Formatierung von Fehlern ändern. Zuvor unterstützte es Normale Ansicht
(die Standardeinstellung) sowie ein knapperes KategorieAnsicht
. Diese Funktion fügt ein ConciseView
wobei die meisten Befehle nur die entsprechende Fehlermeldung zurückgeben. In Fällen, in denen zusätzliche Kontextinformationen in einer Skriptdatei oder der Speicherort in einem Skript vorhanden sind Block erhalten Sie die Zeilennummer, die fragliche Textzeile und einen Zeiger auf die Fehlerstelle aufgetreten.
Diese neue Ansicht ist Teil der Fehleransicht RFC aktualisieren Bitte geben Sie dort Feedback.
Cmdlet Get-Error
Während ConciseView
gibt Ihnen genauere, aber begrenzte Informationen zu Fehlern, wir haben ein neues Cmdlet hinzugefügt Get-Fehler
um viel umfangreichere Informationen zu Fehlern zu erhalten.
Standardmäßig läuft nur Get-Fehler
zeigt eine formatierte Ansicht des neuesten Fehlers an, einschließlich der Anzeige bestimmter verschachtelter Typen wie Exceptions und ErrorRecords, um die Diagnose des Fehlers zu erleichtern.
Dieses neue Cmdlet ist Teil der Fehleransicht RFC aktualisieren Bitte geben Sie dort Feedback.
PowerShell 7 soll monatlich aktualisiert werden, sodass Benutzer weitere Vorschauversionen der Skriptsprache erwarten können, bevor sie fast einen Monat nach .NET Core 3.0 allgemein verfügbar ist.
Siehe auch die Versionshinweise für alle Details zu dem, was in dieser Version enthalten ist.
Quelle: Microsoft