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

nové

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.

nové

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é

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).