PowerShell 7 - Какво е новото и какво си струва превключването

какво

общ преглед

Направени са Windows PowerShell (за Windows) и PowerShell Core (за Windows, macOS и Linux) обединени в PowerShell 7 и формират техните наследници.

PowerShell 7 е базиран и е съвместим с .NET Core 3.1 (НЕГОВ).

PowerShell 7 е съвместим надолу и може също така да се използва продуктивно паралелно на Windows PowerShell.

PowerShell 7 също е за .NET разработчик привлекателен, защото можете да пишете .NET приложения на различни платформи на един скриптов език.

новото

Иновациите и промените в PowerShell 7 са свързани със следните области:

  • Общи и всеобхватни промени
  • Cmdlets
  • Системни променливи
  • Оператори
  • Поведение на PowerShell
  • Работа и документация

Какво ново и превключвателят си заслужава?

The последната версия на PowerShell 7 можете да се обърнете към GitHub:
Изтегляне на PowerShell 7.

Официалното описание на промяната в PowerShell можете да намерите тук:
Какво е новото в PowerShell 7.0.

Историята на публикуването на модулите PowerShell можете да намерите тук:
История на издаване на модули и кратки команди.

PowerShell 7 се предлага за следните операционни системи:

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

След инсталирането на PowerShell 7 ще намерите новия интерпретатор на командния ред под:
& 'C: \ Program Files \ PowerShell \ 7 \ PwSh.exe'

СЪВЕТ - Уверете се, че сте актуализирали и модулите и помощните файлове след инсталиране на PowerShell 7.

1. Експериментални функции

Поддръжката за експериментални функции в PowerShell 7 осигурява механизъм, чрез който експерименталните функции могат да съществуват едновременно със съществуващите стабилни функции (вижте about_Experimental_Features).

Например командата не е намерена Предложението показва:

Сега просто напишете get в конзолата PowerShell и след това използвайте CTRL + SPACE, за да покажете автодовършването.

СЪВЕТ - Експерименталните функции могат да бъдат внедрени и във вашите собствени модули.

Общи промени в PowerShell 7

  • Когато хостът на PowerShell 7 стартира, той информира за наличието на актуализации:
  • Места за инсталиране на нови модули:
  • Модулите на Windows PowerShell са налични и в PowerShell 7 чрез "Windows Compability Wrapper". Windows PowerShell 5.1 също се изисква. Ако модулният манифест не посочва дали модулът е съвместим с Core, модулът се зарежда в процес на Windows PowerShell и се отразява в текущата сесия на PowerShell 7, като се използва дистанционно:
  • Ново PS устройство за съхранение на свързани с потребителя временни файлове:
  • Invoke-DscResource вече работи в ОС (експериментално):

Напишете напредък Лентата за напредъка вече се показва в Visual Studio Code:

Нови и променени кратки команди

Clear-RecycleBin - новият cmdlet изпразва кошчето:

Грешка при получаване - Новият командлет предоставя важна информация за анализ/оценка на грешки:

Out-GridView - нов модул (Microsoft.PowerShell.GraphicalTools, версия 0.2.0) за GUI с припокриване на OS (Out-GridView, Show-Command, Get-Help-ShowWindow):

Тествайте json - новият командлет осигурява валидиране на JSON схема:

ForEach-Object - към тази команда е добавена паралелна обработка:

PowerShell 7 вече поддържа езика за маркиране Markdown. Markdown е опростен език за маркиране. Една от целите на Markdown е това Първоначалната форма е лесно четима без допълнително преобразуване е:

Къде-Обект - Параметър -Not Switch е добавен към командлета:

  • Format-Hex - кратката команда е подобрена за шестнадесетично представяне на различни обекти на тръбопровода:
  • Select-String - тази команда е подобрена, за да подчертае визуално събитията:

Параметърът на превключвателя -NoEmphasis деактивира осветяването.

Актуализиране на списъка - новата команда за актуализация на записи в списъка (Добавяне/премахване) от свойствата на обекта на списъка:

PowerShell 7 променливи

  • $ ErrorView - Новата променлива определя стандартната изходна стойност на грешката:
  • $ ErrorActionPreference - Ако на променливата или параметъра -ErrorAction е присвоена новата стойност на преброяването Break, изпълнението спира и режимът DEBUG се превключва на:

Нови и променени оператори

какво

Новите оператори на PowerShell 7

-разделен - този оператор е разширен, за да включва редица елементи НАДЯСНО:

а? b: c - трикратен оператор - вграден тричаст, ако е добавен оператор:

&& и || - Оператори на тръбопроводи - Добавени са тези оператори за верижно свързване на тръбопроводи:

Описва свързването на тръбопроводи с && и || Оператори:
Get-Help -Name "about_Pipeline_Chain_Operators" -ShowWindow

Статията предоставя задълбочен поглед върху обработката на тръбопроводи:
Усещане и употреба на PowerShell Pipeline.

? - Нулев коалесиращ оператор - Добавен е оператор за събиране на NULL. В зависимост от NULL стойност трябва да се извърши разграничаване на случая, което досега е трябвало да се изпълни, както следва:

Тази конструкция вече може да бъде приложена по опростен начин, както следва:

Операторите за събиране на NULL са право-асоциативни, т.е. $ a ? $ b ? $ c се обработва, както следва:

?=,?. - Нулеви условни оператори - тези оператори са добавени. Ако променлива съдържа $ NULL, трябва да й бъде присвоена стойност по подразбиране, която досега е трябвало да бъде внедрена, както следва:

Тази конструкция вече може да бъде приложена по опростен начин, както следва:

Промени в обработката и документацията

Има автоматично попълване (CTRL + SPACE) за присвояване на стойности на изброяване (enum) на променливи.