PowerShell 7 - Ce este nou și care merită schimbarea

Prezentare generală
S-au realizat Windows PowerShell (pentru Windows) și PowerShell Core (pentru Windows, macOS și Linux) fuzionat în PowerShell 7 și formează succesorii lor.
PowerShell 7 este bazat și este compatibil cu .NET Core 3.1 (ESTE).
PowerShell 7 este compatibil descendent și poate fi, de asemenea, utilizat în paralel cu Windows PowerShell.
PowerShell 7 este, de asemenea, pentru .NET dezvoltator atractiv, deoarece puteți scrie aplicații .NET pe platforme într-un singur limbaj de scriptare.

Noile caracteristici și modificările din PowerShell 7 se referă la următoarele domenii:
- Modificări generale și generale
- Cmdlets
- Variabile de sistem
- Operatori
- Comportamentul PowerShell
- Manipulare și documentare
Ce este nou și merită schimbarea?
ultima versiune de PowerShell 7 puteți consulta GitHub:
Descărcare PowerShell 7.
Descrierea oficială a modificării PowerShell poate fi găsită aici:
Noutăți în PowerShell 7.0.
Istoria publicării modulelor PowerShell poate fi găsită aici:
Eliberați istoricul modulelor și cmdleturilor.
PowerShell 7 este oferit pentru următoarele sisteme de operare:
- Windows 7, 8.1 și 10
- Windows Server 2008 R2, 2012, 2012 R2, 2016 și 2019
- macOS 10.13+
- Red Hat Enterprise Linux (RHEL)/CentOS 7+
- Fedora 29+
- Debian 9+
- Ubuntu 04/16+
- openSUSE 15+
- Alpine Linux 3.8+
După instalarea PowerShell 7, veți găsi noul interpret de linie de comandă sub:
& 'C: \ Program Files \ PowerShell \ 7 \ PwSh.exe'
SFAT - Asigurați-vă că actualizați și modulele și fișierele de ajutor după instalarea PowerShell 7.
1. Funcții experimentale
Suportul pentru funcțiile experimentale din PowerShell 7 oferă un mecanism prin care funcțiile experimentale pot coexista cu funcțiile stabile existente (consultați despre_Funcții_Experimentale).
De exemplu, Comanda nu a fost găsită Sugestia arată:
Acum, scrieți doar obțineți în consola PowerShell și apoi utilizați CTRL + SPACE pentru a afișa completarea automată.
SFAT - Funcțiile experimentale pot fi, de asemenea, implementate în propriile module.
Modificări generale în PowerShell 7
- Când pornește gazda PowerShell 7, aceasta informează despre existența actualizărilor:
- Locații noi de instalare a modulului:
- Modulele Windows PowerShell sunt disponibile și în PowerShell 7 prin „Windows Compatibility Wrapper”. Este de asemenea necesar Windows PowerShell 5.1. Dacă manifestul modulului nu specifică dacă modulul este compatibil cu Core, modulul este încărcat într-un proces Windows PowerShell și reflectat în sesiunea curentă PowerShell 7 folosind telecomanda:
- O nouă unitate PS pentru stocarea fișierelor temporare legate de utilizator:
- Invoke-DscResource funcționează acum pe sistemul de operare (experimental):
Scrieți progresul Bara de progres este acum afișată în Visual Studio Code:
Cmdlet-uri noi și modificate
Clear-RecycleBin - noua cmdlet golește coșul de gunoi:
Get-Error - Noul cmdlet oferă informații importante pentru analiza/evaluarea erorilor:
Out-GridView - un nou modul (Microsoft.PowerShell.GraphicalTools, versiunea 0.2.0) pentru interfețele grafice care se suprapun OS (Out-GridView, Show-Command, Get-Help-ShowWindow):
Testează json - noul cmdlet oferă validarea schemei JSON:
Pentru fiecare obiect - procesare paralelă a fost adăugată la acest cmdlet:
PowerShell 7 acceptă acum limbajul de marcare Markdown. Markdown este un limbaj de markup simplificat. Unul dintre obiectivele lui Markdown este acela Forma inițială ușor de citit fără conversie ulterioară este:
Unde-obiect - un parametru -No Switch a fost adăugat la cmdlet:
- Format-Hex - cmdlet-ul a fost îmbunătățit pentru reprezentarea hexazecimală a diferitelor obiecte ale conductei:
- Select-String - acest cmdlet a fost îmbunătățit pentru a evidenția vizual evenimentele:
Parametrul comutatorului -NoEmphasis dezactivează evidențierea.
Actualizați lista - noua cmdlet actualizează intrările din listă (Adăugare/Eliminare) din proprietățile obiectului listă:
PowerShell 7 variabile
- $ ErrorView - Noua variabilă determină valoarea de ieșire a erorii standard:
- $ ErrorActionPreference - Dacă variabilei sau parametrului -ErrorAction i se atribuie noua valoare enumerată Break, execuția se oprește și modul DEBUG este comutat la:
Operatori noi și modificați

Noii operatori ai PowerShell 7
-Despică - acest operator a fost extins pentru a include o serie de elemente DE LA DREAPTA:
A? b: c - operator ternar - o linie din trei părți dacă a fost adăugat operatorul:
&& și || - Operatori de lanț de conducte - Acești operatori de înlănțuire a conductelor au fost adăugați:
Descrie înlănțuirea conductelor cu && și || Operatori:
Get-Help -Name "about_Pipeline_Chain_Operators" -ShowWindow
Articolul oferă o perspectivă profundă asupra procesării conductelor:
PowerShell Pipeline sens și utilizare.
? - Operator zero coalescent - A fost adăugat operatorul de colectare NULL. În funcție de o valoare NULL, ar trebui să aibă loc o distincție de caz, care până acum trebuia implementată după cum urmează:
Această construcție poate fi acum implementată într-un mod simplificat, după cum urmează:
Operatorii de colectare NULL sunt asociativi la dreapta, adică $ a ? $ b ? $ c este procesat după cum urmează:
?=,?. - Operatori condiționali nuli - acești operatori au fost adăugați. Dacă o variabilă conține $ NULL, ar trebui să i se atribuie o valoare implicită, care până acum trebuia să fie implementată după cum urmează:
Această construcție poate fi acum implementată într-un mod simplificat, după cum urmează:
Modificări în manipulare și documentare
Există o completare automată (CTRL + SPACE) pentru atribuirea valorilor de enumerare (enum) variabilelor.