Windows PowerShell sastavni je dio operacijskog sustava Windows. To je ljuska naredbenog retka i skriptni jezik koji se koristi za automatizaciju dugotrajnih ponavljajućih zadataka, izradu prilagođenih alata za upravljanje i izgradnju, testiranje i implementaciju rješenja za razne druge probleme.
Zadana verzija PowerShell-a koja dolazi unaprijed zapakirana unutar operativnog sustava Windows je PowerShell 5.1 ili jednostavno Windows PowerShell. Ali s obzirom da je PowerShell 7 već objavljen i stabilan, nema li više smisla za Windows OS koristiti najnoviju verziju PowerShell-a? Koje prednosti PowerShell 7 uopće pruža? I vrijedi li nadogradnje? Razgovarajmo o tome!
Što je PowerShell 7?
PowerShell 7 najnovija je verzija LTS izdanja PowerShell-a. Ova verzija PowerShell-a razvijena je putem novijeg okvira .NET Core, koji omogućuje nekoliko velikih ažuriranja koja će naprednim korisnicima Windowsa biti korisna.
PowerShell 7 registriran je i licenciran pod MIT licencom. To je sada softver otvorenog koda
, gdje ljudi mogu slobodno pregledavati, mijenjati i distribuirati vlastitu kopiju izvornog koda softvera. Programeri također mogu doprinijeti službenim izdanjima PowerShell-a pridruživanjem Službena GitHub stranica PowerShell-a.Uz podršku zajednice, ova verzija PowerShell-a sada je višeplatformska! Što znači da se sada može instalirati i koristiti u sustavima Windows, macOS i Linux. Ovdje je popis podržanih x64 operativnih sustava:
- 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 također je podržan na raznim ARM32 i ARM64 distribucijama Debiana, Ubuntua i ARM64 Alpine Linuxa. Za zainteresirane, tu su i nepodržani paketi za Arch i Kali Linux.
Koje su nove značajke uključene u PowerShell 7?
Osim što je višeplatformski i otvorenog koda, PowerShell 7 ima mnoge druge nove značajke koje dodatno poboljšavaju produktivnost. Evo nekoliko značajnijih:
1. Poboljšana kompatibilnost unazad
Uz razliku u okviru, Windows PowerShell i verzije PowerShell koje koriste okvir .NET Core bit će nekompatibilne. Kako bi ljudima olakšao prijelaz, PowerShell 7 sada integrira modul Windows Compatibility. Ovaj modul je dizajniran da omogući Windows PowerShell module i mnoge druge popularne CMD naredbe za rad u PowerShell 7.
2. Paralelizacija cjevovoda s objektom ForEach
PowerShell 7 sada ima paralelni parametar. U sustavu Windows PowerShell svaki će se kanalizirani objekt pomoću cmdleta ForEach-Object izvršavati jedan po jedan. Ali s novim Parallel parametrom, svi projektirani objekti sada se izvode istovremeno. Ovo drastično poboljšava performanse što vam može uštedjeti vrijeme.
3. Ternarni operatori
Uvjeti Windows PowerShell izvode se putem if-else naredbi. PowerShell 7 ovo čini još jednostavnijim uvođenjem ternarnih operatora, koji su u osnovi pojednostavljene verzije if-else naredbi korištenjem “?” i “:” u sintaksi. Ova značajka omogućuje brže i čišće iskustvo skriptiranja.
4. Operateri lanca cjevovoda
Operatori cjevovoda važna su značajka Windows PowerShell. Omogućuje vam izradu složenih izraza uzimanjem izlaza cmdleta i korištenjem ga na drugom cmdletu. To je, međutim, ograničeno jer Windows PowerShell ne može obraditi uvjetne izraze korištenjem regularnih operatora cjevovoda.
PowerShell 7 rješava ovaj problem uvođenjem operatora lanca cjevovoda, koji su “&&” i “||”. Ovaj novi operator cjevovoda omogućuje PowerShell-u izvršavanje naredbi s uvjetnim izrazima.
Operator && koristi se za izvršenje naredbe desnog cjevovoda samo ako je naredba prije operatora uspješna. Dok je operator || izvršit će naredbu desnog cjevovoda samo ako naredba prije operatora ne uspije.
Zašto PowerShell 7 nije zadani u sustavu Windows?
PowerShell 7 je softver otvorenog koda za više platformi koji pruža značajke koje mogu drastično poboljšati performanse i brzinu skriptiranja. Pa zašto ga Microsoft ne postavi kao zadani PowerShell u sustavu Windows?
Trenutačni PowerShell koji dolazi unaprijed instaliran s novijim Windows sustavima je PowerShell 5.1. Ovo je posljednja verzija PowerShell-a koja koristi .NET okvir. Iako je istina da njegove sljedeće verzije pružaju bolje značajke, Windows PowerShell još uvijek ima jednu prednost koju noviji PowerShell nema - potpunu kompatibilnost sa prethodnim verzijama.
Prvi PowerShell objavljen je 14. studenog 2006. To je bilo kada su Windows Vista i XP još uvijek bili najnoviji Windows OS. Prema istraživanje iz enlyfta, samo u Sjedinjenim Državama više od 46.000 tvrtki još uvijek koristi Windows XP. Te tvrtke jednostavno ne mogu nadograditi na najnoviji PowerShell jer bi to uzrokovalo hrpu problema s nekompatibilnošću unatrag čak i s integriranim modulom Windows Compatibility PowerShell 7.
Za velike tvrtke i različite kritične infrastrukture (bankomati, opskrbljivači energijom, željeznice, bolnice itd.), odgoda usluga tjednima do mjesecima samo za ponovnu izgradnju, testiranje i implementaciju skripti koje su već radile s PowerShell 5.1 jednostavno nije opcija. Nema veze s greškama koje se mogu pojaviti tijekom stvarnog radnog vremena.
Budući da je PowerShell 5.1 najnoviji PowerShell izgrađen na. NET framework, zajamčeno radi sa svim prethodnim verzijama PowerShell-a, čak i onom izdanom 2006.
Trebate li nadograditi na PowerShell 7?
PowerShell 7 donosi mnoga korisna ažuriranja koja čine sučelje naredbenog retka i skriptiranje lakšim, bržim i praktičnijim uz podršku za više platformi. Nasuprot tome, Windows PowerShell pruža potpunu kompatibilnost sa svim naslijeđenim PowerShell prije PowerShell 6. Dakle, trebate li nastaviti koristiti Windows PowerShell ili nadograditi na noviji PowerShell 7?
Dobra stvar kod PowerShell 7 je ta što je dizajniran da koegzistira s Windows PowerShell 5.1. Osim integriranog modula Windows Compatibility, PowerShell 7 također pruža zasebnu instalacijsku stazu, naziv izvršne datoteke, PSModulePath i zapisnike događaja kako bi se osiguralo da ne ometa već instalirane Windowse PowerShell.
Dakle, za veliku većinu ljudi koji žele isprobati nove značajke PowerShell 7, oni to sigurno mogu učiniti zadržavajući svoj zadani Windows PowerShell. Ako ste znatiželjni je li noviji PowerShell za vas, svakako biste trebali isprobati noviji PowerShell.
Iako PowerShell 7 pruža dobru kompatibilnost s prethodnim verzijama, uvijek će postojati neka odstupanja zbog njihovih razlika u okviru. Ako radite u tvrtki ili organizaciji koja se uvelike oslanja na prilagođene alate i programe napravljene od Windows PowerShell, tada migracija sustava tvrtke na PowerShell 7 možda nije dobra ideja.
PowerShell 7 pružio je puno ažuriranja, ali je također izbacio dosta naslijeđenih modula i cmdleta. Ako ste osoba koja je već zadovoljna zadanim PowerShell-om, onda stvarno nema razloga za migraciju, pogotovo ako nemate vremena čitati dokumentaciju.
PowerShell 7 čini skriptiranje bržim
PowerShell 7 jedna je od najnovijih stabilnih verzija PowerShell-a s dugotrajnom podrškom (LTS). Omogućuje brži i lakši način korištenja PowerShell-a, čak i ako koristite druge operativne sustave kao što su macOS ili Linux. Iako će možda trebati malo vremena za čitanje njegove dokumentacije, u konačnici ćete uštedjeti više vremena kada postanete vješti s novim ažuriranjima.