PowerShell 7 Preview 5 Lansat, iată ce este nou
Microsoft lansează o nouă versiune de previzualizare a limbajului de script PowerShell de generație următoare. Utilizatorii interesanți pot obține Preview 5 din PowerShell 7. Conține o serie de caracteristici noi și multe remedieri de erori atât din partea comunității, cât și din partea echipei PowerShell.
PowerShell este o formă avansată de prompt de comandă. Este extins cu un set imens de cmdleturi gata de utilizare și vine cu capacitatea de a utiliza .NET framework/C# în diferite scenarii. Windows include un instrument GUI, PowerShell ISE, care permite editarea și depanarea scripturilor într-un mod util.
Publicitate
PowerShell 7 este primul pachet de limbaj de script și shell de linie de comandă bazat pe .NET Core 3.0. Poate atinge compatibilitatea cu peste 90% din căsuța de e-mail Windows Modulele PowerShell prin valorificarea modificărilor din .NET Core 3.0 care readuc înapoi multe API-uri necesare modulelor construite pe .NET Framework, astfel încât acestea să funcționeze cu .NET Core timpul de rulare.
Microsoft este pe cale să lanseze încă o versiune de previzualizare luna viitoare, în noiembrie. Apoi, cu excepția oricăror preocupări legate de calitate, un candidat pentru eliberare în decembrie s-a aliniat cu .NET Core 3.1 Lansarea finală. În cele din urmă, se așteaptă la disponibilitatea generală a PowerShell 7 în ianuarie, ca prima lor lansare de service pe termen lung.
Între versiunea candidată și disponibilitatea generală, Microsoft va accepta doar remedieri de erori critice și nu vor fi incluse funcții noi. Pentru acea lansare, unii Caracteristici experimentale va fi considerat stabil de proiectare și nu va mai fi Experimental. Aceasta înseamnă că orice modificare viitoare a designului pentru aceste caracteristici va fi considerată o schimbare de ultimă oră.
Funcții noi în Preview 5
Această versiune are o serie de funcții noi atât din partea comunității, cât și din partea echipei PowerShell. Versiunile de previzualizare ale PowerShell pot fi instalate unul lângă altul cu versiuni stabile, astfel încât să le puteți utiliza pe ambele.
Operatori în lanț
Noul Operatorii lanțului de conducte permite executarea condiționată a comenzilor în funcție de faptul dacă comanda anterioară a reușit sau nu a eșuat. Aceasta funcționează atât cu comenzi native, cât și cu cmdleturi sau funcții PowerShell. Înainte de această funcție, ați putea deja face acest lucru utilizând dacă
declarații împreună cu verificarea dacă $?
a indicat că ultima declarație a reușit sau a eșuat. Acest nou operator face acest lucru mai simplu și compatibil cu alte shell-uri.
Operatori condiționali nuli pentru coalescere și atribuire
Adesea, în scripturile dvs., poate fi necesar să verificați dacă o variabilă este $null sau dacă o proprietate este $null înainte de a o utiliza. Noii operatori condiționali Null simplifică acest lucru.
Noul ??
operatorul de coalescere nulă elimină nevoia de dacă
și altfel
instrucțiuni dacă doriți să obțineți valoarea unei instrucțiuni dacă nu este $null sau returnați altceva dacă este $null. Rețineți că aceasta nu înlocuiește verificarea pentru o valoare booleană adevărată sau falsă, ci verifică doar dacă este $null.
Noul ??=
Operatorul de atribuire condiționată nul facilitează atribuirea unei variabile a unei valori numai dacă nu este $null.
Notificare despre noua versiune PowerShell
Folosind telemetria, echipa și-a dat seama că mulți utilizatori folosesc versiuni PowerShell învechite. Începând cu PowerShell 7, consola va face publicitate unei noi versiuni acolo unde este disponibilă.
Mai multe detalii despre această caracteristică, inclusiv cum să o dezactivați în Notificare privind actualizarea versiunii RFC
Completarea filei pentru atribuirea variabilelor
Această nouă caracteristică vă va permite să utilizați completarea filei la atribuirea variabilelor și să obțineți valori permise pentru enumerari sau variabile cu constrângeri de tip, cum ar fi [ValidateSet()]
. Acest lucru ușurează schimbarea $ErrorActionPreference
sau noul $ErrorView
(detaliat mai jos) la valori valide fără a fi nevoie să le tastați.
Format-Hex formatare îmbunătățită
Această îmbunătățire vine din Joel Sallow realizarea Format-Hex
mai util atunci când vizualizați diferite tipuri de obiecte într-o conductă, precum și pentru a permite vizualizarea mai multor tipuri de obiecte.
Get-HotFix a revenit
The Get-HotFix
cmdlet-ul funcționează numai pe Windows și va interoga sistemul despre ce patch-uri au fost instalate. Acest lucru nu era disponibil anterior în PowerShell Core 6, deoarece depindea de Sistem. Spațiu de nume de management care nu era disponibil pe .NET Core 2.x pe care este construit PowerShell Core 6.x. Cu toate acestea, .NET Core 3.0 pe care este construit PowerShell 7 a readus acest spațiu de nume (doar pentru Windows), așa că am reactivat acest cmdlet.
Există o întârziere la obținerea rezultatelor în acest exemplu din cauza numărului de corecții pe care autorul le are pe VM-ul său Windows 7.
Select-String adaugă accent
Acesta a fost un HackIllinois proiect realizat de Derek Xia care folosește text colorat invers pentru a evidenția textul într-un șir care corespunde criteriilor de selecție. Există un opțional -Fără accent
comutați pentru a suprima accentul.
ConciseView pentru erori
Unele comentarii ale utilizatorilor pe care le-am primit în mod constant se referă la cantitatea de text roșu pe care o primiți atunci când întâmpinați o eroare în PowerShell.
The $ErrorView
variabila preferință vă permite să modificați formatarea erorilor. Anterior, a susținut Vizualizare normală
(implicit), precum și mai concis CategoryView
. Această caracteristică adaugă un ConciseView
unde majoritatea comenzilor returnează doar mesajul de eroare relevant. În cazurile în care există informații contextuale suplimentare într-un fișier script sau locația într-un script bloc, veți obține numărul de linie, linia de text în cauză și un indicator către locul unde a apărut eroarea a avut loc.
Această nouă viziune face parte din Actualizare eroare Vizualizare RFC așa că vă rugăm să oferiți feedback acolo.
cmdlet Get-Error
In timp ce ConciseView
vă oferă informații mai precise, dar limitate despre erori, am adăugat un nou cmdlet Obține-Eroare
pentru a obține informații mult mai bogate despre erori.
În mod implicit, doar rulează Obține-Eroare
afișează o vizualizare formatată a celei mai recente erori, inclusiv afișând anumite tipuri imbricate, cum ar fi Excepții și ErrorRecords, ceea ce face mai ușor să diagnosticați ce a mers prost.
Acest nou cmdlet face parte din Actualizare eroare Vizualizare RFC așa că vă rugăm să oferiți feedback acolo.
PowerShell 7 este setat să fie actualizat lunar, astfel încât utilizatorii se pot aștepta la mai multe versiuni de previzualizare ale limbajului de scripting înainte de a ajunge la disponibilitatea generală la aproape o lună după .NET Core 3.0.
De asemenea, vezi Note de lansare pentru toate detaliile a ceea ce este inclus în această versiune.
Sursă: Microsoft