Sljedeća glavna verzija PowerShell-a je izašla i donosi neke značajne promjene. Sedma verzija uključuje značajke poput paralelnog izvođenja, uvoza modula za daljinsko izvršavanje, novih operatora i još mnogo toga. U ovom postu gledamo sve nove značajke na PowerShell 7.0.
Promjene u direktoriju PowerShell
Kada instalirate PowerShell 7, instalirat će se u novi direktorij i pokrenuti zajedno s PowerShell 5.1. Ako nadograđujete s PowerShell Core 6.x, tada će prebrisati direktorij PowerShell 6 i ukloniti sve nepotrebne datoteke. Evo popisa direktorija koje biste trebali znati:
PowerShell 7 je instaliran na-
% programfiles% \ PowerShell \ 7
The % programfiles% \ PowerShell \ 7 mapa je dodana u $ env: PUT
Instalacijski paketi PowerShell 7 nadograđuju prethodne verzije PowerShell Core 6.x:
PowerShell Core 6.x na sustavu Windows:
% programfiles% \ PowerShell \ 6
zamjenjuje se s
% programfiles% \ PowerShell \ 7
Linux:
/ opt / microsoft / powershell / 6
zamjenjuje se s
/ opt / microsoft / powershell / 7
macOS:
/ usr / local / microsoft / powershell / 6
zamjenjuje se s
/ usr / local / microsoft / powershell / 7
Nove značajke u programu PowerShell 7
Pokušao sam ukratko objasniti svaku od ovih značajki i kako će to pomoći korisnicima PowerShella. Ipak, pročitajte detaljnije na službenoj stranici Microsofta.
- Paralelizacija cjevovoda
- Novi operateri
- ConciseView i Pogreška pri dohvaćanju cmdlet
- Automatske obavijesti o novoj verziji
- Pozovite DSC resurse izravno iz PowerShell 7
- Sloj kompatibilnosti
Uvijek provjerite varijablu okoline prije testiranja stvarnih kodova.
1] Paralelizacija cjevovoda
Sada možete paralelno izvršavati ili rukovati objektima umjesto metode sekvence kada koristite ForEach-Object -Parallel. U našem postu o deinstaliranju WIM-a, ova metoda može demontirati tri WIM slike za nešto manje od 10 sekundi umjesto za gotovo 25 sekundi kada se pokreće u nizu. Evo primjera koda za to:
Get-WindowsImage -Mount | foreach -Parallel Measure-Command Dismount-WindowsImage -Discard -Path $ _.Staza
2] Novi operateri
Tri su nova operatora-Ternarni operater: a ? b: c, Operateri lanca cjevovoda: || i && i null uvjetni operatori: ?? i ??=. Ovi se ponašaju kao ponaša se poput pojednostavljene if-else izjave. Olakšavaju pisanje koda, umjesto da cijelo vrijeme koriste petlju If-else.
3] ConciseView i cmdlet Get-Error
ConciseView je korisnički odabran prikaz koji je omogućen kao zadani prikaz PowerShell 7. Ako pogreška nije iz skripte, primit ćete pogrešku u jednom retku. Međutim, ako je iz skripte ili postoji pogreška raščlanjivanja, primit ćete poruku o višerednoj pogrešci i pokazivač koji pokazuje na kojem je retku došlo do pogreške.
Tada imate novi cmdlet Pogreška pri dohvaćanju koji vam mogu pomoći da dobijete detaljan prikaz pogreške po želji. Može prikazati sve detalje, uključujući unutarnje iznimke, posljednje pogreške koja se dogodila.
$ Pogreška | Get-Error Get-Error -Newest 3 # Prikazuje posljednje tri pogreške koje su se dogodile u sesiji
4] Automatske obavijesti o novoj verziji
Počevši od PowerShell 7, sustav će provjeravati ažuriranja jednom dnevno i obavještavat će o novoj verziji ako je dostupna. Informacije se prikazuju samo na početku sljedećih sesija. Za PowerShell Update dostupne su tri zastavice
- Zadano GA, Preview i RC izdanja
- Isključeno isključuje značajku obavijesti o ažuriranju
- TO JE samo obavještava o ažuriranjima izdanja GA za dugoročno servisiranje (LTS)
Ako želite isključiti obavijesti o ažuriranju u programu PowerShell 7, izvršite ovu naredbu u prozoru PowerShell.
$ Env: POWERSHELL_UPDATECHECK = 'Isključeno'
5] Pozovite DSC resurse izravno iz PowerShell 7
Cmdlet Invoke-DscResource pokreće metodu određenog resursa željene konfiguracije PowerShell-a (DSC). To je eksperimentalna značajka.
Koristeći ovu cmdlet verziju, proizvodi za upravljanje konfiguracijom mogu upravljati sustavom Windows ili Linux pomoću DSC izvora. Ovaj cmdlet također omogućuje otklanjanje pogrešaka u resursima kada DSC motor radi s omogućenim otklanjanjem pogrešaka.
6] Sloj kompatibilnosti
Omogućuje korisnicima PowerShell-a da uvezu module u implicitnoj Windows PowerShell sesiji. Koristeći ovo, moći ćete stvarnu naredbu prikazati kao sesiju na udaljenom računalu i vratiti rezultate lokalnoj sesiji. Sada kada podržava uvoz modula, te module možete pokretati na udaljenim računalima.
PowerShell je softver otvorenog koda dostupan i na Linuxu i macOS-u. Sjajno je vidjeti toliko novih značajki u PowerShell 7, a nadamo se da će i dalje rasti. Više o tome možete pročitati na Microsoftu.