Windows PowerShell este o parte integrantă a sistemului de operare Windows. Este un shell de linie de comandă și un limbaj de scripting folosit pentru a automatiza sarcini repetitive care necesită timp, pentru a crea instrumente de management personalizate și pentru a construi, testa și implementa soluții pentru diverse alte probleme.
Versiunea implicită PowerShell care vine pre-ambalată în sistemul de operare Windows este PowerShell 5.1 sau pur și simplu Windows PowerShell. Dar cu PowerShell 7 deja lansat și stabil, nu are mai mult sens ca sistemul de operare Windows să folosească cea mai recentă versiune de PowerShell? Ce beneficii oferă PowerShell 7? Și merită upgrade-ul? Să vorbim despre asta!
Ce este PowerShell 7?
PowerShell 7 este cea mai recentă versiune LTS a PowerShell. Această versiune de PowerShell este dezvoltată prin noul cadru .NET Core, care permite câteva actualizări majore pe care utilizatorii puternici de Windows le vor găsi utile.
PowerShell 7 este înregistrat și licențiat sub licența MIT. Este acum
software cu sursă deschisă, unde oamenii pot vizualiza, modifica și distribui în mod liber propria copie a codului sursă al software-ului. Dezvoltatorii pot contribui și la versiunile oficiale PowerShell prin alăturarea Pagina oficială GitHub a PowerShell.Cu ajutorul comunității, această versiune de PowerShell este acum multiplatformă! Înseamnă că acum poate fi instalat și utilizat pe Windows, macOS și Linux. Iată o listă a sistemului de operare x64 acceptat:
- Windows 8.1, 10, 11
- Windows Server 2012, 2012 R2, 2016 și 2019
- macOS 10.13+
- Red Hat Enterprise Linux (RHEL) / CentOS 7
- Fedora 30+
- Debian 9
- Ubuntu LTS 16.04+
Alpine Linux 3.8+ PowerShell 7 este, de asemenea, acceptat pe diverse distribuții ARM32 și ARM64 ale Debian, Ubuntu și ARM64 Alpine Linux. Pentru cei interesați, există și pachete neacceptate pentru Arch și Kali Linux.
Care sunt noile caracteristici incluse în PowerShell 7?
Pe lângă faptul că este multi-platformă și open-source, PowerShell 7 are multe alte caracteristici noi care îmbunătățesc și mai mult productivitatea. Iată câteva dintre cele mai notabile:
1. Compatibilitate inversă îmbunătățită
Cu diferența de cadru, versiunile Windows PowerShell și PowerShell care utilizează cadrul .NET Core vor avea incompatibilități. Pentru a facilita tranziția oamenilor, PowerShell 7 integrează acum modulul WindowsCompatibility. Acest modul este conceput pentru a permite module Windows PowerShell și multe comenzi populare CMD pentru a lucra în PowerShell 7.
2. Paralelizarea conductei cu ForEach-Object
PowerShell 7 are acum un parametru Parallel. În Windows PowerShell, fiecare obiect canalizat folosind cmdletul ForEach-Object va fi executat pe rând. Dar cu noul parametru Parallel, toate obiectele canalizate sunt acum executate simultan. Acest lucru îmbunătățește drastic performanța, ceea ce vă poate economisi timp.
3. Operatori ternari
Condiționalele Windows PowerShell se realizează prin instrucțiuni if-else. PowerShell 7 face acest lucru și mai simplu prin introducerea operatorilor ternari, care sunt practic versiuni simplificate ale instrucțiunilor if-else prin utilizarea „?” și „:” în sintaxă. Această caracteristică permite o experiență de scriptare mai rapidă și mai curată.
4. Operatorii lanțului de conducte
Operatorii pipeline sunt o caracteristică importantă a Windows PowerShell. Vă permite să faceți expresii complexe, luând rezultatul unui cmdlet și utilizându-l pe un alt cmdlet. Acest lucru, totuși, este limitat, deoarece Windows PowerShell nu poate procesa expresii condiționate folosind operatori obișnuiți de conductă.
PowerShell 7 remediază această problemă prin introducerea operatorilor de lanț de conducte, care sunt „&&” și „||”. Acest nou operator de canalizare permite PowerShell să execute comenzi cu expresii condiționate.
Operatorul && este folosit pentru a executa comanda conductei din dreapta numai dacă comanda dinaintea operatorului are succes. În timp ce operatorul || va executa comanda conductei din dreapta numai dacă comanda dinaintea operatorului eșuează.
De ce nu este PowerShell 7 implicit pe Windows?
PowerShell 7 este un software multiplatform cu sursă deschisă care oferă caracteristici care pot îmbunătăți drastic performanța și viteza de scriptare. Deci, de ce Microsoft nu îl transformă în PowerShell implicit în Windows?
Actualul PowerShell care vine preinstalat cu sisteme Windows mai noi este PowerShell 5.1. Aceasta este ultima versiune PowerShell care utilizează framework-ul .NET. Deși este adevărat că versiunile sale ulterioare oferă caracteristici mai bune, Windows PowerShell are totuși un avantaj pe care PowerShell mai nou nu îl are - compatibilitate completă cu versiunea precedentă.
Primul PowerShell a fost lansat pe 14 noiembrie 2006. Acesta a fost atunci când Windows Vista și XP erau încă cel mai recent sistem de operare Windows. Conform cercetare de la enlyft, numai Statele Unite au peste 46.000 de companii care încă folosesc Windows XP. Aceste companii pur și simplu nu pot face upgrade la cel mai recent PowerShell, deoarece ar cauza o mulțime de probleme de incompatibilitate inversă chiar și cu modulul integrat de compatibilitate Windows din PowerShell 7.
Pentru companii uriașe și diverse infrastructuri critice (ATM-uri, furnizori de energie, căi ferate, spitale etc.), întârzierea serviciu de săptămâni până la luni doar pentru a reconstrui, a testa și a implementa script-uri care au funcționat deja cu PowerShell 5.1 pur și simplu nu este un opțiune. Nu contează toate erorile care pot apărea în timpul orelor reale de funcționare.
Deoarece PowerShell 5.1 este cel mai recent PowerShell construit pe. NET, este garantat să funcționeze cu toate versiunile anterioare de PowerShell, chiar și cu cea lansată în 2006.
Ar trebui să faceți upgrade la PowerShell 7?
PowerShell 7 oferă multe actualizări utile care fac interfața cu linia de comandă și scriptarea mai ușoară, mai rapidă și mai convenabilă, cu suportul său multiplatform. În schimb, Windows PowerShell oferă compatibilitate completă cu versiunea precedentă pentru toate PowerShell moștenite înainte de PowerShell 6. Deci, ar trebui să continuați să utilizați Windows PowerShell sau să faceți upgrade la noul PowerShell 7?
Lucrul bun despre PowerShell 7 este că a fost conceput pentru a coexista cu Windows PowerShell 5.1. Pe lângă modulul integrat de compatibilitate Windows, PowerShell 7 oferă, de asemenea, o cale de instalare separată, un nume executabil, PSModulePath și jurnalele de evenimente pentru a se asigura că nu interferează cu Windows-ul deja instalat PowerShell.
Așadar, pentru marea majoritate a oamenilor care doresc să încerce noile funcții ale PowerShell 7, cu siguranță pot face acest lucru păstrând Windows PowerShell implicit. Dacă sunteți curios dacă noul PowerShell este pentru dvs., atunci cu siguranță ar trebui să încercați PowerShell mai nou.
Deși PowerShell 7 oferă o bună compatibilitate inversă, vor exista întotdeauna unele discrepanțe din cauza diferențelor dintre cadru. Dacă lucrați la o companie sau organizație care se bazează în mare măsură pe instrumente și programe personalizate realizate din Windows PowerShell, atunci migrarea sistemului companiei la PowerShell 7 ar putea să nu fie o idee bună.
PowerShell 7 a oferit o mulțime de actualizări, dar a renunțat și la câteva module și cmdleturi vechi. Dacă sunteți o persoană care este deja mulțumită de PowerShell implicit, atunci nu există cu adevărat niciun motiv pentru a migra, mai ales dacă nu aveți timp să citiți documentația.
PowerShell 7 face scriptarea mai rapidă
PowerShell 7 este una dintre cele mai noi versiuni stabile de PowerShell cu suport pe termen lung (LTS). Oferă o modalitate mai rapidă și mai ușoară de a utiliza PowerShell, chiar dacă utilizați alte sisteme de operare precum macOS sau Linux. Deși poate dura ceva timp pentru a citi documentația acesteia, în cele din urmă veți economisi mai mult timp odată ce deveniți priceput cu noile actualizări.