PowerShell 7.0 Preview5


Начинаю привыкать писать PowerShell 7.0 без Core. Это уже официальное имя. Да и намерение Microsoft сделать этот продукт полноценной заменой Windows PowerShell 5.1 уже не выглядит фантастичным.

Чем же нас порадует и удивит очередная предварительная версия?

Прежде чем рассмотреть новшества, стоит отметить ближайшие планы. Очередная предварительная версия Preview6 выйдет в ноябре. Затем в декабре будет RC на базе .Net Core 3.1. И релиз в январе 2020 года. Это будет LTS версия, что означает поддержку в течение 3 лет. Как я уже писал, выпуски PowerShell будут следовать в русле версий .Net Core. Так .Net Core 3.1 является LTS версией, и, соответственно, PowerShell на её базе также будет LTS. Через пару лет выйдет .Net Core 5.0, которая по всей видимости заменит .Net Framework, и, соответственно, мы можем предположить, что PowerShell на её основе заменит Windows PowerShell.

Теперь о Preview5. Конечно в ней есть всё что появилось в предыдущих предварительных версиях, и об этом смотрите в предыдущих постах.

1. Get-Hotfix теперь снова работает, но только на Windows. Постепенно возвращаются командлеты, которые невозможно портировать. Ранее правило было жёстким: в PowerShell Core должны быть только портированные командлеты, т.е. только те, которые работают на всех поддерживаемых платформах. Но курс на замену Windows PowerShell гнёт в свою сторону.

2. Select-String научился делать выделение найденных фрагментов.

Пишите отзывы, пока есть время до релиза.

3. Операторы && и || для цепочек команд

Это работает точно также как языках программирования: && — последующая команда выполняется только если предыдущая завершилась успешно, || — выполнение команд в цепочке завершается на первой команде, которая выполнилась успешно.

4. Операторы ?? и ??=

Это так называемые Null-coalescing operators. Работают точно также как в языках программирования: вернуть значение переменной, если это не null, иначе правую часть.

5. IntelliSense работает для Enum типов и атрибутов (type constraints)

Попробуйте:

$ErrorActionPreference = <tab>

[ValidateSet(1, 2)][int]$a= <tab>

6. Format-Hex значительно улучшен. Разнородные объекты выводятся в более удобном виде. Примеры можно посмотреть тут.

7. Изменен формат вывода ошибок в консоли. Он стал более дружественным и лаконичным. Для вывода полной информации об ошибке теперь есть новый командлет Get-Error. Посмотрите, попробуйте и напишите отзывы, пока есть время до релиза.

ПопробуйтеЖ

1/0

Get-Error

8. При запуске интерактивной сессии вы теперь можете получить уведомление о наличии новой версии. Не знаю насколько это нужно. Оповещение можно отключить переменной окружения POWERSHELL_UPDATECHECK_OPTOUT = 0 или запустив pwsh -NoLogo.

9. PSReadLine 2.0.0-beta6

Скачивайте и работайте. Обратная связь.

10. Ternary Operator

Это оператор «?». Работает точно также как в языках программирования.

Попробуйте:

$IsWindows ? «Yes» : «No»

Полный список изменений в Release Notes

комментария 4

  1. Илья, добрый день.

    Так можно ли с никсов подключиться к Exchange через Powershell или до сих пор нет?

    • Я думаю, что ничего не изменилось для Unix. По крайней мере я не помню, чтобы были какие-то коммиты.

      • При попытке подключения с Debian 10 выдает:

        New-PSSession: This parameter set requires WSMan, and no supported WSMan client library was found.

        Необходимо что-то доставлять типа Core 3.1 или должно работать из коробки? Или как я понимаю не хватает каких-то библиотек.

      • Возможно это поможет https://github.com/PowerShell/PowerShell/issues/7598

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: