Microsoftovi programeri su nedavno u objavi na blogu najavili izlazak konačne verzije PowerShell-a 7. Sada je dostupan za Windows, macOS i Linux. Ova najnovija verzija uključuje nove funkcije vezane za podršku za .NET Core i nove operatere.
PowerShell je optimiziran za automatizaciju operacija iz komandne linije i pruža ugrađene alate za obradu strukturiranih podataka u formatima kao što su JSON, CSV i XML, a također podržava REST API-je i objektne modele.
Pored komandne ljuske, nude se objektno orijentisani skriptni jezik i skup uslužnih programa za upravljanje modulima i skriptama.
Počevši od grane PowerShell 6, projekat je razvijen koristeći .NET Core platformu. PowerShell podrazumevano prenosi telemetriju sa opisom operativnog sistema i verzijom programa (da biste onemogućili telemetriju, morate postaviti varijablu okruženja POWERSHELL_TELEMETRY_OPTOUT=1 pre nego što počnete).
Šta je novo u PowerShell-u 7?
Ukratko, PowerShell 7 integriše sljedeće promjene : migraciju sa .Net Core verzije 2.x na novu verziju 3.1 i uvođenje ternarnih operatora „a? b:c «, dodjelu i spajanje nula „?“ i ?? = „«.
Ažuriranje .Net Core 2.xa 3.1 predstavljeno u ovoj novoj verziji PowerShella 7 omogućava veću kompatibilnost sa postojećim PowerShell modulima za Windows.
“Ako niste bili u mogućnosti da koristite PowerShell Core 6.x u prošlosti zbog problema s kompatibilnošću između modula, ovo je možda prvi put da ćete moći iskoristiti neke od sjajnih funkcija koje smo već pružili . Od početka PowerShell Core projekta! “, naglašavaju iz Microsofta.
Dodaje da:
» Prelazak sa PowerShell Core 6.x na 7.0 takođe označava naš prelazak sa .NET Core 2.x na 3.1.
.NET Core 3.1 vraća veliki broj API-ja iz .NET Frameworka (posebno na Windowsu), omogućavajući mnogo veću kompatibilnost sa postojećim Windows PowerShell modulima. To uključuje mnoge Windows module koji zahtijevaju GUI funkcionalnost, kao što su Out-GridView i Show-Command, kao i mnoge module za upravljanje ulogama koji dolaze s Windowsom.
Kompletna lista podržanih operativnih sistema nudi se kao x64 varijante 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 16.04+, openSUSE 15+ i Alpine Linux 3.8+.
Debian i Ubuntu ARM32 i ARM64 verzije su također podržane, kao i ARM64 Alpine Linux. Microsoft navodi da, iako nisu službeno podržani, postoje paketi koje je proizvela zajednica za Arch i Kali Linux. PowerShell 7 je dostupan za preuzimanje sa GitHub-a , a instalacijska dokumentacija je dostupna i za Windows, macOS i Linux.
Microsoft već s nestrpljenjem očekuje PowerShell 7.1, čija će prva pretpremijera uskoro biti objavljena. Do tada, vratimo se novim funkcijama koje čine PowerShell 7 posebnim:
- .NET Core 3.1 (LTS)
- Windows kompatibilna omotnica
- obavještenje o novoj verziji
- novi prikaz greške i cmdlet Get-Error
- operateri lanaca cijevi (&& i |||)
- ternarni operator (a? b: c)
- null operatori dodjele i koalescencije (??? i ?? =)
- cross-platform invoke-DscResource (eksperimentalno)
- out-GridView, -ShowWindowWindow i drugi GUI cmdleti se vraćaju na Windows
Konačno, ako želite saznati više o tome, detalje možete pogledati na sljedećem linku.
Kako instalirati PowerShell 7 na Linux?
Za one koji su zainteresovani za instaliranje ove nove verzije PowerShella na svoj sistem, pakete pripremljene za različite Linux distribucije mogu dobiti sa sljedećeg linka.
Iako aplikaciju uglavnom možete instalirati pomoću Snap paketa , jedini zahtjev je da vaš sistem podržava instaliranje ove vrste paketa i da ima instaliranu uslugu.
Da biste izvršili instalaciju, jednostavno otvorite terminal i pokrenite sljedeću naredbu:
snap install powershell --classic
Konačno, u slučaju odabira paketa posebno izgrađenih za svaku distribuciju.
Instalaciju možete obaviti pokretom vašeg paketa ili sa terminala pomoću dpkg (za deb pakete ili sa rpm ili dnf (za rpm pakete).
Na primjer, u slučaju deb paketa:
sudo dpkg -i powershell-7.0.0-1*.deb
U slučaju RPM-a u općim distribucijama sa:
sudo rpm -i powershell-7.0.0-1*.rpm
Ili u slučaju Fedore ili RHEL-a:
sudo dnf -i powershell-7.0.0-1*.rpm