PowerShell 7 - Čo je nové a stojí za zmenu

prehľad
Boli vyrobené Windows PowerShell (pre Windows) a PowerShell Core (pre Windows, macOS a Linux) zlúčené v prostredí PowerShell 7 a tvoria ich nástupcov.
PowerShell 7 je založený a je kompatibilný s .NET Core 3.1 (LTS).
PowerShell 7 je kompatibilné smerom nadol a možno ich tiež produktívne používať paralelne s Windows PowerShell.
PowerShell 7 je tiež pre .NET vývojár atraktívne, pretože môžete písať aplikácie .NET na rôznych platformách v jednom skriptovacom jazyku.

Inovácie a zmeny v prostredí PowerShell 7 sa týkajú týchto oblastí:
- Všeobecné a všeobecné zmeny
- Rutiny
- Systémové premenné
- Operátorov
- Správanie prostredia PowerShell
- Manipulácia a dokumentácia
Čo je nové a prepínač stojí za to?
The najnovšia verzia prostredia PowerShell 7 môžete sa obrátiť na GitHub:
PowerShell 7 na stiahnutie.
Oficiálny popis zmeny v prostredí PowerShell nájdete tu:
Čo je nové v PowerShell 7.0.
Históriu publikácie modulov PowerShell nájdete tu:
História vydaní modulov a cmdletov.
PowerShell 7 sa ponúka pre nasledujúce operačné systémy:
- Windows 7, 8.1 a 10
- Windows Server 2008 R2, 2012, 2012 R2, 2016 a 2019
- macOS 10.13+
- Red Hat Enterprise Linux (RHEL)/CentOS 7+
- Fedora 29+
- Debian 9+
- Ubuntu 04/16+
- openSUSE 15+
- Alpine Linux 3.8+
Po inštalácii PowerShell 7 nájdete nového tlmočníka príkazového riadku pod:
& 'C: \ Program Files \ PowerShell \ 7 \ PwSh.exe'
TIP - Po inštalácii PowerShell 7 nezabudnite tiež aktualizovať svoje moduly a súbory pomocníka.
1. Experimentálne funkcie
Podpora experimentálnych funkcií v prostredí PowerShell 7 poskytuje mechanizmus, pomocou ktorého môžu experimentálne funkcie koexistovať s existujúcimi stabilnými funkciami (pozri about_Experimental_Features).
Napríklad príkaz nenájdený Návrh zobrazuje:
Teraz stačí napísať get v konzole PowerShell a potom pomocou klávesov CTRL + SPACE zobraziť automatické dopĺňanie.
TIP - Experimentálne funkcie je možné implementovať aj do vlastných modulov.
Všeobecné zmeny v prostredí PowerShell 7
- Po spustení hostiteľa PowerShell 7 informuje o prítomnosti aktualizácií:
- Nové umiestnenia inštalácie modulu:
- Moduly Windows PowerShell sú k dispozícii aj v prostredí PowerShell 7 prostredníctvom balíka „Windows Compatibility Wrapper“. Vyžaduje sa tiež Windows PowerShell 5.1. Ak manifest modulu neuvádza, či je modul kompatibilný s Core, modul sa načíta do procesu Windows PowerShell a zrkadlí sa v aktuálnej relácii PowerShell 7 pomocou vzdialenej komunikácie:
- Nová jednotka PS na ukladanie dočasných súborov týkajúcich sa používateľov:
- Invoke-DscResource teraz funguje v celom OS (experimentálny):
Napíš pokrok Indikátor priebehu sa teraz zobrazuje v kóde Visual Studio:
Nové a zmenené rutiny cmdlet
Clear-RecycleBin - nová rutina cmdlet vyprázdni kôš:
Chyba - Nová rutina cmdlet poskytuje dôležité informácie pre analýzu/hodnotenie chýb:
Out-GridView - nový modul (Microsoft.PowerShell.GraphicalTools, verzia 0.2.0) pre GUI prekrývajúce sa s OS (Out-GridView, Show-Command, Get-Help-ShowWindow):
Vyskúšajte JSON - nová rutina poskytuje overenie schémy JSON:
ForEach-Object - do tejto rutiny bolo pridané paralelné spracovanie:
PowerShell 7 teraz podporuje značkovací jazyk Markdown. Markdown je zjednodušený značkovací jazyk. Jedným z cieľov spoločnosti Markdown je to Počiatočná podoba ľahko čitateľná bez ďalšej konverzie je:
Kde-Objekt - a -Not Switch parameter was added to the cmdlet:
- Format-Hex - cmdlet bol vylepšený pre hexadecimálne znázornenie rôznych objektov potrubia:
- Select-String - táto rutina cmdlet bola vylepšená tak, aby vizuálne zvýrazňovala výskyty:
Parameter prepínača -NeEmphasis deaktivuje zvýraznenie.
Aktualizovať zoznam - nová rutina cmdlet aktualizuje položky zoznamu (Pridať/Odstrániť) z vlastností objektu zoznamu:
Premenné PowerShell 7
- $ ErrorView - nová premenná určuje štandardné množstvo chybového výstupu:
- $ ErrorActionPreference - Ak je premennej alebo parametru -ErrorAction priradená nová hodnota výčtu Break, vykonávanie sa zastaví a režim DEBUG sa prepne na:
Noví a zmenení operátori

Noví operátori prostredia PowerShell 7
-rozdeliť - tento operátor bol rozšírený tak, aby obsahoval množstvo prvkov ZPRAVA:
a? b: c - ternárny operátor - trojdielny vložený riadok, ak bol pridaný operátor:
&& a || - Prevádzkovatelia potrubných reťazcov - Boli pridaní títo operátori reťazenia potrubí:
Opisuje reťazenie potrubí pomocou znakov && a || Prevádzkovatelia:
Získajte pomoc - názov „about_Pipeline_Chain_Operators“ - ShowWindow
Tento článok poskytuje hlboký pohľad na spracovanie plynovodu:
Rozumie a používa PowerShell Pipeline.
? - Operátor nulového spájania - Bol pridaný operátor zberu NULL. V závislosti od hodnoty NULL by sa malo rozlišovať od prípadu, ktorý sa doteraz musel implementovať nasledovne:
Túto konštrukciu je možné teraz implementovať zjednodušeným spôsobom:
Operátory zberu NULL sú pravo-asociatívne, t. J. $ A ? $ b ? $ c sa spracováva takto:
?=,?. - Nulové podmienené operátory - títo operátori boli pridaní. Ak premenná obsahuje $ NULL, mala by jej byť pridelená predvolená hodnota, ktorá sa doteraz musela implementovať nasledovne:
Túto konštrukciu je možné teraz implementovať zjednodušeným spôsobom:
Zmeny v manipulácii a dokumentácii
Existuje priradenie hodnôt výčtu (enum) k premenným pomocou automatického dokončovania (CTRL + SPACE).