„Windows PowerShell“ yra neatskiriama „Windows“ operacinės sistemos dalis. Tai yra komandų eilutės apvalkalas ir scenarijų kalba, naudojama automatizuoti daug laiko reikalaujančias pasikartojančias užduotis, sukurti pasirinktinius valdymo įrankius ir kurti, išbandyti bei įdiegti įvairių kitų problemų sprendimus.
Numatytoji PowerShell versija, kuri yra iš anksto supakuota Windows operacinėje sistemoje, yra PowerShell 5.1 arba tiesiog Windows PowerShell. Tačiau kai PowerShell 7 jau išleista ir stabili, ar nėra prasmingiau Windows OS naudoti naujausią PowerShell versiją? Kokią naudą vis tiek teikia „PowerShell 7“? Ir ar verta atnaujinti? Pakalbėkime apie tai!
Kas yra „PowerShell 7“?
„PowerShell 7“ yra naujausia LTS „PowerShell“ versija. Ši „PowerShell“ versija sukurta naudojant naujesnę „.NET Core“ sistemą, kuri leidžia atlikti kelis pagrindinius naujinimus, kurie gali būti naudingi „Windows“ vartotojams.
„PowerShell 7“ yra registruota ir licencijuota pagal MIT licenciją. Tai dabar atvirojo kodo programinė įranga
, kur žmonės gali laisvai peržiūrėti, keisti ir platinti savo programinės įrangos šaltinio kodo kopiją. Prisijungdami kūrėjai taip pat gali prisidėti prie oficialių „PowerShell“ leidimų „PowerShell“ oficialus „GitHub“ puslapis.Su bendruomenės palaikymu ši „PowerShell“ versija dabar yra kelių platformų! Tai reiškia, kad dabar jį galima įdiegti ir naudoti „Windows“, „MacOS“ ir „Linux“. Čia yra palaikomų x64 operacinės sistemos sąrašas:
- Windows 8.1, 10, 11
- Windows Server 2012, 2012 R2, 2016 ir 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 taip pat palaikoma įvairiose Debian, Ubuntu ir ARM64 Alpine Linux ARM32 ir ARM64 distribucijose. Besidomintiems taip pat yra nepalaikomų paketų, skirtų Arch ir Kali Linux.
Kokios naujos funkcijos įtrauktos į „PowerShell 7“?
„PowerShell 7“ ne tik yra kelių platformų ir atvirojo kodo, bet ir turi daug kitų naujų funkcijų, kurios dar labiau pagerina našumą. Štai keletas ryškesnių:
1. Patobulintas atgalinis suderinamumas
Dėl skirtingų sistemų Windows PowerShell ir PowerShell versijos, naudojančios .NET Core sistemą, turės nesuderinamumo. Kad žmonėms būtų lengviau pereiti, „PowerShell 7“ dabar integruoja „Windows“ suderinamumo modulį. Šis modulis sukurtas taip, kad būtų galima naudoti „Windows PowerShell“ modulius ir daugelį kitų populiarios CMD komandos dirbti PowerShell 7.
2. Dujotiekio lygiagretinimas su „ForEach-Object“.
„PowerShell 7“ dabar turi Parallel parametrą. Sistemoje Windows PowerShell kiekvienas vamzdinis objektas naudojant ForEach-Object cmdlet bus vykdomas po vieną. Tačiau naudojant naują Parallel parametrą, visi vamzdyno objektai dabar vykdomi vienu metu. Tai drastiškai pagerina našumą, o tai gali sutaupyti laiko.
3. Trišaliai operatoriai
„Windows PowerShell“ sąlygos atliekamos naudojant if-else teiginius. „PowerShell 7“ tai dar labiau supaprastina, nes įdiegia trijų dalių operatorius, kurie iš esmės yra supaprastintos „if-else“ teiginių versijos naudojant „? ir „:“ sintaksėje. Ši funkcija leidžia greičiau ir švariau kurti scenarijus.
4. Dujotiekio grandinės operatoriai
Dujotiekio operatoriai yra svarbi Windows PowerShell funkcija. Tai leidžia jums sukurti sudėtingas išraiškas, paimant cmdlet išvestį ir naudojant ją kitoje cmdlet. Tačiau tai yra ribota, nes „Windows PowerShell“ negali apdoroti sąlyginių išraiškų naudodama įprastus vamzdyno operatorius.
„PowerShell 7“ išsprendžia šią problemą įvesdama dujotiekio grandinės operatorius, kurie yra „&&“ ir „||“. Šis naujas dujotiekio operatorius leidžia „PowerShell“ vykdyti komandas su sąlyginėmis išraiškomis.
Operatorius && naudojamas dešiniojo vamzdyno komandai vykdyti tik tuo atveju, jei komanda prieš operatorių yra sėkminga. Nors operatorius || įvykdys tik dešiniojo vamzdyno komandą, jei komanda prieš operatorių nepavyks.
Kodėl „PowerShell 7“ nėra numatytasis „Windows“?
„PowerShell 7“ yra atvirojo kodo kelių platformų programinė įranga, teikianti funkcijas, kurios gali drastiškai pagerinti našumą ir scenarijų greitį. Taigi kodėl „Microsoft“ nepadaro jos numatytuoju „PowerShell“ sistemoje „Windows“?
Dabartinė PowerShell, kuri yra iš anksto įdiegta su naujesnėmis Windows sistemomis, yra PowerShell 5.1. Tai paskutinė PowerShell versija, kurioje naudojama .NET sistema. Nors tiesa, kad paskesnėse jos versijose yra geresnės funkcijos, „Windows PowerShell“ vis tiek turi vieną pranašumą, kurio neturi naujesnė „PowerShell“ – visiškas atgalinis suderinamumas.
Pirmoji „PowerShell“ buvo išleista 2006 m. lapkričio 14 d. Tai buvo tada, kai „Windows Vista“ ir „XP“ vis dar buvo naujausios „Windows“ OS. Pagal tyrimai iš enlyft, vien Jungtinėse Valstijose yra daugiau nei 46 000 įmonių, vis dar naudojančių Windows XP. Šios įmonės tiesiog negali atnaujinti į naujausią „PowerShell“, nes tai sukeltų daugybę atgalinio nesuderinamumo problemų net naudojant „PowerShell 7“ integruotą „Windows“ suderinamumo modulį.
Didžiulėms įmonėms ir įvairioms svarbioms infrastruktūroms (bankomatai, energijos tiekėjai, geležinkeliai, ligoninės ir kt.), vėlavimas paslauga savaitėms ar mėnesiams, kad būtų atkurta, išbandyta ir įdiegta scenarijai, kurie jau veikė su PowerShell 5.1, tiesiog nėra variantas. Nekreipkite dėmesio į visas klaidas, kurios gali pasirodyti tikrosiomis darbo valandomis.
Kadangi „PowerShell 5.1“ yra naujausia „PowerShell“, sukurta ant. NET sistemą, garantuojama, kad ji veiks su visomis ankstesnėmis „PowerShell“ versijomis, net ir ta, kuri buvo išleista 2006 m.
Ar turėtumėte atnaujinti į „PowerShell 7“?
„PowerShell 7“ pateikia daug naudingų naujinimų, dėl kurių komandų eilutės sąsaja ir scenarijų rašymas tampa lengvesnis, greitesnis ir patogesnis naudojant kelių platformų palaikymą. Priešingai, „Windows PowerShell“ suteikia visišką atgalinį suderinamumą su visomis senesnėmis „PowerShell“ versijomis prieš „PowerShell 6“. Taigi, ar turėtumėte toliau naudoti „Windows PowerShell“ arba atnaujinti į naujesnę „PowerShell 7“?
„PowerShell 7“ pranašumas yra tas, kad jis buvo sukurtas kartu su „Windows PowerShell 5.1“. Be integruoto „Windows“ suderinamumo modulio, „PowerShell 7 taip pat pateikia atskirą diegimo kelią, vykdomąjį pavadinimą, PSModulePath ir įvykių žurnalus, kad įsitikintų, jog tai netrukdo jau įdiegtai „Windows“ PowerShell.
Taigi dauguma žmonių, norinčių išbandyti naujas „PowerShell 7“ funkcijas, tikrai gali tai padaryti išsaugodami numatytąjį „Windows PowerShell“. Jei smalsu, ar naujesnė „PowerShell“ skirta jums, tuomet tikrai turėtumėte išbandyti naujesnę „PowerShell“.
Nors „PowerShell 7“ užtikrina gerą atgalinį suderinamumą, visada bus tam tikrų neatitikimų dėl jų sistemos skirtumų. Jei dirbate įmonėje ar organizacijoje, kuri labai priklauso nuo pasirinktinių įrankių ir programų, sukurtų iš Windows PowerShell, įmonės sistemos perkėlimas į PowerShell 7 gali būti netinkama idėja.
„PowerShell 7“ pateikė daug atnaujinimų, tačiau taip pat atsisakė nemažai senų modulių ir cmdlet. Jei esate asmuo, kuris jau patenkintas numatytuoju „PowerShell“, tada tikrai nėra jokios priežasties perkelti, ypač jei neturite laiko skaityti dokumentacijos.
„PowerShell 7“ pagreitina scenarijų kūrimą
„PowerShell 7“ yra viena iš naujausių stabilių „PowerShell“ versijų su ilgalaikiu palaikymu (LTS). Tai suteikia greitesnį ir lengvesnį būdą naudoti „PowerShell“, net jei naudojate kitas operacines sistemas, pvz., „MacOS“ ar „Linux“. Nors gali prireikti šiek tiek laiko perskaityti jo dokumentaciją, galiausiai sutaupysite daugiau laiko, kai įgysite žinių apie naujus atnaujinimus.