Izšla je naslednja večja različica PowerShell, ki prinaša nekaj pomembnih sprememb. Sedma različica vključuje funkcije, kot so vzporedno izvajanje, uvoz modulov za oddaljeno izvajanje, novi operaterji in še več. V tej objavi si ogledujemo vse nove funkcije na PowerShell 7.0.
Spremembe imenika PowerShell
Ko namestite PowerShell 7, se bo namestil v nov imenik in se zagnal skupaj z PowerShell 5.1. Če nadgrajujete s PowerShell Core 6.x, bo prepisal imenik PowerShell 6 in odstranil vse nepotrebne datoteke. Tu je seznam imenikov, ki bi jih morali poznati:
PowerShell 7 je nameščen v-
% programfiles% \ PowerShell \ 7
The % programfiles% \ PowerShell \ 7 mapa je dodana v $ env: POT
Namestitveni paketi PowerShell 7 nadgrajujejo prejšnje različice PowerShell Core 6.x:
PowerShell Core 6.x v sistemu Windows:
% programfiles% \ PowerShell \ 6
se nadomesti z
% programfiles% \ PowerShell \ 7
Linux:
/ opt / microsoft / powershell / 6
se nadomesti z
/ opt / microsoft / powershell / 7
macOS:
/ usr / local / microsoft / powershell / 6
se nadomesti z
/ usr / local / microsoft / powershell / 7
Nove funkcije v PowerShell 7
Poskusil sem na kratko razložiti vsako od teh funkcij in kako bo to pomagalo uporabnikom PowerShella. Vendar si oglejte podrobnejše informacije na Microsoftovi uradni strani.
- Paralelizacija cevovoda
- Novi operaterji
- ConciseView in Napaka pri pridobivanju cmdlet
- Samodejna obvestila o novi različici
- Prikličite vire DSC neposredno iz PowerShell 7
- Kompatibilnost
Pred preizkusom dejanskih kod vedno preverite možnost Varnost okolja.
1] Paralelizacija cevovoda
Zdaj lahko predmete izvajate ali obdelujete vzporedno namesto metode zaporedja, ko uporabljate ForEach-Object -Parallel. V našem prispevku o odstranjevanju WIM-a lahko ta metoda odstrani tri slike WIM v manj kot 10 sekundah namesto v skoraj 25 sekundah, ko se izvaja zaporedoma. Tu je vzorčna koda zanj:
Get-WindowsImage -Mount | foreach -Parallel Measure-Command Dismount-WindowsImage -Discard -Path $ _.Pot
2] Novi operaterji
Obstajajo trije novi operaterji-Ternarni operater: a ? b: c, Upravljavci cevovodnih verig: || in && in Null pogojni operaterji: ?? in ??=. Ti se obnašajo kot se obnaša kot poenostavljena izjava if-else. Omogočajo enostavno pisanje kode, namesto da bi ves čas uporabljali zanko If-else.
3] ConciseView in cmdlet Get-Error
ConciseView je uporabniško izbran pogled, ki je omogočen kot privzeti pogled PowerShell 7. Če napaka ni iz skripta, boste prejeli napako z eno vrstico. Če pa gre za skript ali če pride do napake pri razčlenjevanju, se prikaže sporočilo o napaki z več vrsticami in kazalec, ki prikazuje, v kateri vrstici je prišlo do napake.
Potem imate nov cmdlet Napaka pri pridobivanju ki vam lahko pomaga, da si po želji ogledate podroben pogled na napako. Prikaže lahko vse podrobnosti o zadnji napaki, vključno z notranjimi izjemami.
$ Napaka | Get-Error Get-Error -Newest 3 # Prikaže zadnje tri napake, ki so se zgodile v seji
4] Samodejna obvestila o novi različici
Začenši z PowerShell 7 bo sistem enkrat na dan preverjal posodobitve in obvestil o novi različici, če je na voljo. Informacije so prikazane šele na začetku naslednjih sej. Za posodobitev PowerShell so na voljo tri zastavice
- Privzeto GA, predogled in izdaje RC
- Izklopljeno izklopi funkcijo obveščanja o posodobitvah
- LTS obvešča samo o posodobitvah izdaj GA za dolgoročno servisiranje (LTS)
Če želite v PowerShell 7 izklopiti obvestila o posodobitvah, izvedite ta ukaz v oknu PowerShell.
$ Env: POWERSHELL_UPDATECHECK = 'Izklopljeno'
5] Prikličite vire DSC neposredno iz PowerShell 7
Ukazna vrstica Invoke-DscResource zažene metodo določenega vira konfiguracije želenega stanja PowerShell (DSC). To je eksperimentalna značilnost.
Z uporabo te ukazne enote lahko izdelki za upravljanje konfiguracije upravljajo sistem Windows ali Linux z uporabo virov DSC. Ta cmdlet omogoča tudi razhroščevanje virov, ko deluje mehanizem DSC z omogočenim odpravljanjem napak.
6] Združljivostna plast
Uporabnikom PowerShell omogoča uvoz modulov v implicitni seji Windows PowerShell. Z uporabo tega boste lahko ukaz realno uporabili kot sejo na oddaljenem računalniku in rezultate vrnili v lokalno sejo. Zdaj, ko podpira uvoz modulov, lahko te module zaženete v oddaljenih računalnikih.
PowerShell je odprtokodna programska oprema, ki je na voljo tudi v Linuxu in macOS. Lepo je videti toliko novih funkcij v PowerShell 7 in upamo, da bo še naprej rasla. Več o tem lahko preberete v Microsoftu.