Windows PowerShell je sestavni del operacijskega sistema Windows. Je lupina ukazne vrstice in skriptni jezik, ki se uporablja za avtomatizacijo dolgotrajnih ponavljajočih se nalog, izdelavo orodij za upravljanje po meri ter gradnjo, testiranje in uvajanje rešitev za različne druge težave.
Privzeta različica lupine PowerShell, ki je vnaprej zapakirana v operacijski sistem Windows, je PowerShell 5.1 ali preprosto Windows PowerShell. Toda ker je PowerShell 7 že izdan in stabilen, ali ni bolj smiselno, da OS Windows uporablja najnovejšo različico PowerShell? Kakšne prednosti sploh ponuja PowerShell 7? In ali je vredno nadgradnje? Pogovorimo se o tem!
Kaj je PowerShell 7?
PowerShell 7 je najnovejša izdaja LTS različice PowerShell. Ta različica lupine PowerShell je razvita prek novejšega ogrodja .NET Core, ki omogoča več večjih posodobitev, ki bodo koristne uporabnikom Windows.
PowerShell 7 je registriran in licenciran pod licenco MIT. Zdaj je odprtokodna programska oprema, kjer si lahko ljudje prosto ogledujejo, spreminjajo in distribuirajo svojo kopijo izvorne kode programske opreme. Razvijalci lahko tudi prispevajo k uradnim izdajam PowerShell tako, da se pridružijo
Uradna stran PowerShell na GitHubu.S podporo skupnosti je ta različica lupine PowerShell zdaj večplatformska! To pomeni, da ga je zdaj mogoče namestiti in uporabljati v sistemih Windows, macOS in Linux. Tukaj je seznam podprtih operacijskih sistemov x64:
- Windows 8.1, 10, 11
- Windows Server 2012, 2012 R2, 2016 in 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 je podprt tudi v različnih distribucijah ARM32 in ARM64 za Debian, Ubuntu in ARM64 Alpine Linux. Za tiste, ki jih zanima, obstajajo tudi nepodprti paketi za Arch in Kali Linux.
Katere so nove funkcije, vključene v PowerShell 7?
Poleg tega, da je na več platformah in je odprtokoden, ima PowerShell 7 številne druge nove funkcije, ki še izboljšajo produktivnost. Tukaj je nekaj bolj opaznih:
1. Izboljšana združljivost za nazaj
Zaradi razlike v ogrodju bodo različice Windows PowerShell in PowerShell, ki uporabljajo ogrodje .NET Core, nezdružljive. Da bi ljudem olajšali prehod, PowerShell 7 zdaj integrira modul Windows Compatibility. Ta modul je zasnovan tako, da omogoča module lupine Windows PowerShell in številne druge priljubljeni ukazi CMD za delo v PowerShell 7.
2. Paralelizacija cevovoda z objektom ForEach
PowerShell 7 ima zdaj parameter Parallel. V lupini Windows PowerShell se bo vsak cevovodni objekt, ki uporablja cmdlet ForEach-Object, izvedel enega za drugim. Toda z novim parametrom Parallel se vsi cevovodni objekti zdaj izvajajo hkrati. To drastično izboljša delovanje, kar vam lahko prihrani čas.
3. Ternarni operaterji
Pogojni pogoji lupine Windows PowerShell se izvedejo prek stavkov if-else. PowerShell 7 to še poenostavlja z uvedbo ternarnih operatorjev, ki so v bistvu poenostavljene različice stavkov if-else z uporabo »?« in “:” v sintaksi. Ta funkcija omogoča hitrejšo in čistejšo izkušnjo skriptiranja.
4. Operaterji cevovodne verige
Operaterji cevovoda so pomembna funkcija lupine Windows PowerShell. Omogoča vam ustvarjanje zapletenih izrazov tako, da vzamete izhod cmdleta in ga uporabite v drugem cmdletu. To pa je omejeno, saj Windows PowerShell ne more obdelati pogojnih izrazov z običajnimi operaterji cevovoda.
PowerShell 7 odpravlja to težavo z uvedbo operaterjev cevovodne verige, ki sta »&&« in »||«. Ta novi operater cevovoda omogoča lupini PowerShell izvajanje ukazov s pogojnimi izrazi.
Operator && se uporablja za izvajanje ukaza desnega cevovoda le, če je ukaz pred operatorjem uspešen. Medtem ko operater || bo ukaz desnega cevovoda izvedel samo, če ukaz pred operaterjem ne uspe.
Zakaj PowerShell 7 ni privzet v sistemu Windows?
PowerShell 7 je odprtokodna programska oprema za več platform, ki ponuja funkcije, ki lahko drastično izboljšajo zmogljivost in hitrost skriptiranja. Zakaj torej Microsoft ne naredi privzete lupine PowerShell v sistemu Windows?
Trenutni PowerShell, ki je vnaprej nameščen z novejšimi sistemi Windows, je PowerShell 5.1. To je zadnja različica PowerShell, ki uporablja ogrodje .NET. Čeprav je res, da njegove naslednje različice zagotavljajo boljše funkcije, ima Windows PowerShell še vedno eno prednost, ki je novejši PowerShell nima – popolno združljivost za nazaj.
Prvi PowerShell je bil izdan 14. novembra 2006. To je bilo, ko sta bila Windows Vista in XP še vedno najnovejši operacijski sistem Windows. Po navedbah raziskave podjetja enlyft, samo v Združenih državah več kot 46.000 podjetij še vedno uporablja Windows XP. Ta podjetja preprosto ne morejo nadgraditi na najnovejšo različico lupine PowerShell, saj bi to povzročilo ogromno težav z nezdružljivostjo za nazaj tudi z integriranim modulom WindowsCompatibility PowerShell 7.
Za ogromna podjetja in različne kritične infrastrukture (bankomati, dobavitelji energije, železnice, bolnišnice itd.) je zamuda storitev za več tednov do mesecev samo za ponovno izdelavo, testiranje in uvajanje skriptov, ki so že delovali s PowerShell 5.1, preprosto ni možnost. Ne pozabite na vse napake, ki se lahko pojavijo med dejanskim delovnim časom.
Ker je PowerShell 5.1 najnovejši PowerShell, zgrajen na. NET, je zagotovljeno, da deluje z vsemi predhodnimi različicami lupine PowerShell, tudi s tisto, ki je bila izdana leta 2006.
Bi morali nadgraditi na PowerShell 7?
PowerShell 7 prinaša številne uporabne posodobitve, ki s podporo za več platform olajšajo vmesnik ukazne vrstice in skriptiranje. V nasprotju s tem lupina Windows PowerShell zagotavlja popolno združljivost s starejšimi različicami lupine PowerShell pred PowerShell 6. Torej, ali bi morali še naprej uporabljati Windows PowerShell ali nadgraditi na novejši PowerShell 7?
Dobra stvar lupine PowerShell 7 je, da je bila zasnovana za soobstoj z lupino Windows PowerShell 5.1. Poleg vgrajenega modula WindowsCompatibility, PowerShell 7 ponuja tudi ločeno namestitveno pot, ime izvršljive datoteke, PSModulePath in dnevnike dogodkov, da zagotovi, da ne moti že nameščenega sistema Windows PowerShell.
Velika večina ljudi, ki želi preizkusiti nove funkcije lupine PowerShell 7, lahko to zagotovo stori in obdrži privzeto lupino Windows PowerShell. Če vas zanima, ali je novejši PowerShell za vas, potem morate vsekakor preizkusiti novejši PowerShell.
Čeprav PowerShell 7 zagotavlja dobro združljivost za nazaj, bo zaradi razlik v ogrodju vedno nekaj odstopanj. Če delate v podjetju ali organizaciji, ki se močno zanaša na orodja in programe po meri, izdelane iz lupine Windows PowerShell, potem selitev sistema podjetja na lupino PowerShell 7 morda ne bo dobra ideja.
PowerShell 7 je zagotovil veliko posodobitev, vendar je opustil tudi kar nekaj podedovanih modulov in cmdletov. Če ste oseba, ki je že zadovoljna s privzeto lupino PowerShell, potem res ni razloga za selitev, še posebej, če nimate časa za branje dokumentacije.
PowerShell 7 omogoča hitrejše skriptiranje
PowerShell 7 je ena najnovejših stabilnih različic PowerShell z dolgoročno podporo (LTS). Zagotavlja hitrejši in lažji način uporabe lupine PowerShell, tudi če uporabljate druge operacijske sisteme, kot sta macOS ali Linux. Čeprav bo morda trajalo nekaj časa, da preberete njegovo dokumentacijo, boste na koncu prihranili več časa, ko boste postali vešči novih posodobitev.