PowerShell 7 - Ce este nou și care merită schimbarea

care

Prezentare generală

S-au realizat Windows PowerShell (pentru Windows) și PowerShell Core (pentru Windows, macOS și Linux) fuzionat în PowerShell 7 și formează succesorii lor.

PowerShell 7 este bazat și este compatibil cu .NET Core 3.1 (ESTE).

PowerShell 7 este compatibil descendent și poate fi, de asemenea, utilizat în paralel cu Windows PowerShell.

PowerShell 7 este, de asemenea, pentru .NET dezvoltator atractiv, deoarece puteți scrie aplicații .NET pe platforme într-un singur limbaj de scriptare.

este

Noile caracteristici și modificările din PowerShell 7 se referă la următoarele domenii:

  • Modificări generale și generale
  • Cmdlets
  • Variabile de sistem
  • Operatori
  • Comportamentul PowerShell
  • Manipulare și documentare

Ce este nou și merită schimbarea?

ultima versiune de PowerShell 7 puteți consulta GitHub:
Descărcare PowerShell 7.

Descrierea oficială a modificării PowerShell poate fi găsită aici:
Noutăți în PowerShell 7.0.

Istoria publicării modulelor PowerShell poate fi găsită aici:
Eliberați istoricul modulelor și cmdleturilor.

PowerShell 7 este oferit pentru următoarele sisteme de operare:

  • Windows 7, 8.1 și 10
  • Windows Server 2008 R2, 2012, 2012 R2, 2016 și 2019
  • macOS 10.13+
  • Red Hat Enterprise Linux (RHEL)/CentOS 7+
  • Fedora 29+
  • Debian 9+
  • Ubuntu 04/16+
  • openSUSE 15+
  • Alpine Linux 3.8+

După instalarea PowerShell 7, veți găsi noul interpret de linie de comandă sub:
& 'C: \ Program Files \ PowerShell \ 7 \ PwSh.exe'

SFAT - Asigurați-vă că actualizați și modulele și fișierele de ajutor după instalarea PowerShell 7.

1. Funcții experimentale

Suportul pentru funcțiile experimentale din PowerShell 7 oferă un mecanism prin care funcțiile experimentale pot coexista cu funcțiile stabile existente (consultați despre_Funcții_Experimentale).

De exemplu, Comanda nu a fost găsită Sugestia arată:

Acum, scrieți doar obțineți în consola PowerShell și apoi utilizați CTRL + SPACE pentru a afișa completarea automată.

SFAT - Funcțiile experimentale pot fi, de asemenea, implementate în propriile module.

Modificări generale în PowerShell 7

  • Când pornește gazda PowerShell 7, aceasta informează despre existența actualizărilor:
  • Locații noi de instalare a modulului:
  • Modulele Windows PowerShell sunt disponibile și în PowerShell 7 prin „Windows Compatibility Wrapper”. Este de asemenea necesar Windows PowerShell 5.1. Dacă manifestul modulului nu specifică dacă modulul este compatibil cu Core, modulul este încărcat într-un proces Windows PowerShell și reflectat în sesiunea curentă PowerShell 7 folosind telecomanda:
  • O nouă unitate PS pentru stocarea fișierelor temporare legate de utilizator:
  • Invoke-DscResource funcționează acum pe sistemul de operare (experimental):

Scrieți progresul Bara de progres este acum afișată în Visual Studio Code:

Cmdlet-uri noi și modificate

Clear-RecycleBin - noua cmdlet golește coșul de gunoi:

Get-Error - Noul cmdlet oferă informații importante pentru analiza/evaluarea erorilor:

Out-GridView - un nou modul (Microsoft.PowerShell.GraphicalTools, versiunea 0.2.0) pentru interfețele grafice care se suprapun OS (Out-GridView, Show-Command, Get-Help-ShowWindow):

Testează json - noul cmdlet oferă validarea schemei JSON:

Pentru fiecare obiect - procesare paralelă a fost adăugată la acest cmdlet:

PowerShell 7 acceptă acum limbajul de marcare Markdown. Markdown este un limbaj de markup simplificat. Unul dintre obiectivele lui Markdown este acela Forma inițială ușor de citit fără conversie ulterioară este:

Unde-obiect - un parametru -No Switch a fost adăugat la cmdlet:

  • Format-Hex - cmdlet-ul a fost îmbunătățit pentru reprezentarea hexazecimală a diferitelor obiecte ale conductei:
  • Select-String - acest cmdlet a fost îmbunătățit pentru a evidenția vizual evenimentele:

Parametrul comutatorului -NoEmphasis dezactivează evidențierea.

Actualizați lista - noua cmdlet actualizează intrările din listă (Adăugare/Eliminare) din proprietățile obiectului listă:

PowerShell 7 variabile

  • $ ErrorView - Noua variabilă determină valoarea de ieșire a erorii standard:
  • $ ErrorActionPreference - Dacă variabilei sau parametrului -ErrorAction i se atribuie noua valoare enumerată Break, execuția se oprește și modul DEBUG este comutat la:

Operatori noi și modificați

este

Noii operatori ai PowerShell 7

-Despică - acest operator a fost extins pentru a include o serie de elemente DE LA DREAPTA:

A? b: c - operator ternar - o linie din trei părți dacă a fost adăugat operatorul:

&& și || - Operatori de lanț de conducte - Acești operatori de înlănțuire a conductelor au fost adăugați:

Descrie înlănțuirea conductelor cu && și || Operatori:
Get-Help -Name "about_Pipeline_Chain_Operators" -ShowWindow

Articolul oferă o perspectivă profundă asupra procesării conductelor:
PowerShell Pipeline sens și utilizare.

? - Operator zero coalescent - A fost adăugat operatorul de colectare NULL. În funcție de o valoare NULL, ar trebui să aibă loc o distincție de caz, care până acum trebuia implementată după cum urmează:

Această construcție poate fi acum implementată într-un mod simplificat, după cum urmează:

Operatorii de colectare NULL sunt asociativi la dreapta, adică $ a ? $ b ? $ c este procesat după cum urmează:

?=,?. - Operatori condiționali nuli - acești operatori au fost adăugați. Dacă o variabilă conține $ NULL, ar trebui să i se atribuie o valoare implicită, care până acum trebuia să fie implementată după cum urmează:

Această construcție poate fi acum implementată într-un mod simplificat, după cum urmează:

Modificări în manipulare și documentare

Există o completare automată (CTRL + SPACE) pentru atribuirea valorilor de enumerare (enum) variabilelor.