Выпущен PowerShell 7 Preview 5, вот что нового
Microsoft выпускает новую предварительную версию языка сценариев PowerShell следующего поколения. Интересные пользователи могут получить Preview 5 из PowerShell 7. Он содержит ряд новых функций и множество исправлений ошибок как от сообщества, так и от команды PowerShell.
PowerShell - это расширенная форма командной строки. Он расширен огромным набором готовых к использованию командлетов и дает возможность использовать .NET framework / C # в различных сценариях. Windows включает инструмент с графическим интерфейсом, PowerShell ISE, который позволяет удобно редактировать и отлаживать сценарии.
PowerShell 7 - это первая оболочка командной строки и пакет языка сценариев, основанный на .NET Core 3.0. Он может достичь совместимости с более чем 90% почтовых ящиков Windows. Модули PowerShell за счет использования изменений в .NET Core 3.0, которые возвращают множество API-интерфейсов, необходимых для модулей, построенных на .NET Framework, чтобы они работали с .NET Core. время выполнения.
Microsoft собирается выпустить еще одну предварительную версию в следующем месяце, в ноябре. Затем, исключая какие-либо проблемы с качеством, в декабре выпуск-кандидат согласовался с
.NET Core 3.1 Окончательный релиз. Наконец, они ожидают, что PowerShell 7 станет общедоступным в январе в качестве своего первого выпуска с долгосрочным обслуживанием.В период между релиз-кандидатом и общедоступностью Microsoft будет принимать только критические исправления ошибок, и никакие новые функции не будут включены. Для этого выпуска некоторые Экспериментальные возможности будет считаться стабильной конструкцией и больше не будет экспериментальной. Это означает, что любые будущие изменения дизайна этих функций будут считаться критическими изменениями.
Новые функции в Preview 5
В этом выпуске есть ряд новых функций как от сообщества, так и от команды PowerShell. Предварительные выпуски PowerShell можно устанавливать вместе со стабильными версиями, поэтому вы можете использовать обе.
Цепные операторы
Новый Операторы цепочки трубопроводов разрешить условное выполнение команд в зависимости от того, была ли предыдущая команда успешной или неудачной. Это работает как с собственными командами, так и с командлетами или функциями PowerShell. До этой функции вы уже могли сделать это с помощью если
заявления вместе с проверкой, если $?
указывает, что последнее утверждение выполнено успешно или не выполнено. Этот новый оператор упрощает эту задачу и делает ее совместимой с другими оболочками.
Нулевые условные операторы для объединения и присваивания
Часто в ваших сценариях вам может потребоваться проверить, имеет ли переменная значение $ null или свойство $ null, прежде чем использовать его. Новые условные операторы Null упрощают эту задачу.
Новый ??
нулевой оператор объединения устраняет необходимость в если
а также еще
операторов, если вы хотите получить значение оператора, если оно не $ null, или вернуть что-то еще, если оно равно $ null. Обратите внимание, что это не заменяет проверку логического значения true или false, а только проверяет, равно ли оно $ null.
Новый ??=
Оператор условного присваивания null позволяет легко присвоить переменной значение, только если оно не $ null.
Уведомление о новой версии PowerShell
Используя телеметрию, команда выяснила, что многие пользователи используют устаревшие версии PowerShell. Начиная с PowerShell 7, консоль будет рекламировать новую версию, если она доступна.
Дополнительные сведения об этой функции, в том числе о том, как отключить ее в Уведомление об обновлении версии RFC
Завершение табуляции для присвоения переменной
Эта новая функция позволит вам использовать завершение табуляции при назначении переменных и получать разрешенные значения для перечислений или переменных с ограничениями типа, такими как [ValidateSet ()]
. Это позволяет легко изменить $ ErrorActionPreference
или новый $ ErrorView
(подробно описано ниже) к действительным значениям без необходимости вводить их.
Format-Hex улучшенное форматирование
Это улучшение происходит от Джоэл Сэллоу изготовление Формат-шестнадцатеричный
более полезен при просмотре различных типов объектов в конвейере, а также поддерживает просмотр большего количества типов объектов.
Get-HotFix вернулся
В Get-HotFix
командлет работает только в Windows и запрашивает у системы, какие исправления были установлены. Ранее это было недоступно в PowerShell Core 6, потому что это зависело от Система. Пространство имен управления который не был доступен в .NET Core 2.x, на котором построен PowerShell Core 6.x. Однако .NET Core 3.0, на котором построен PowerShell 7, вернул это пространство имен (только для Windows), поэтому мы повторно включили этот командлет.
В этом примере есть задержка с получением результатов из-за количества исправлений, установленных автором на его виртуальной машине Windows 7.
Select-String добавляет акцент
Это был HackIllinois проект Дерек Ся который использует инвертированный цвет текста для выделения текста в строке, соответствующей критериям выбора. Есть необязательный -Нет
переключатель для подавления акцента.
ConciseView для ошибок
Некоторые отзывы пользователей, которые мы постоянно получаем, касаются количества красного текста, который вы получаете при обнаружении ошибки в PowerShell.
В $ ErrorView
предпочтительная переменная позволяет изменять форматирование ошибок. Ранее он поддерживал NormalView
(по умолчанию), а также более лаконичный CategoryView
. Эта функция добавляет ConciseView
где большинство команд возвращают только соответствующее сообщение об ошибке. В случаях, когда есть дополнительная контекстная информация в файле сценария или расположение в сценарии блок, вы получите номер строки, строку текста, о которой идет речь, и указатель на то, где ошибка произошел.
Этот новый взгляд является частью Обновление просмотра ошибок RFC так что оставьте отзыв здесь.
Командлет Get-Error
В то время как ConciseView
дает более точную, но ограниченную информацию об ошибках, мы добавили новый командлет Get-Ошибка
чтобы получить более подробную информацию об ошибках.
По умолчанию просто запущен Get-Ошибка
показывает отформатированное представление самой последней ошибки, включая отображение определенных вложенных типов, таких как исключения и ErrorRecords, что упрощает диагностику того, что пошло не так.
Этот новый командлет является частью Обновление просмотра ошибок RFC так что оставьте отзыв здесь.
PowerShell 7 обновляется ежемесячно, поэтому пользователи могут ожидать больше предварительных версий языка сценариев, прежде чем он станет общедоступным почти через месяц после .NET Core 3.0.
Также см. Примечания к выпуску для получения всех подробностей о том, что включено в этот выпуск.
Источник: Microsoft