Список новых функций PowerShell 7

Вышла следующая основная версия PowerShell , и в нее внесены некоторые существенные изменения. Седьмая версия включает в себя такие функции, как параллельное выполнение, импорт модулей для удаленного выполнения, новые операторы и многое другое. В этом посте мы рассмотрим все новые(New) функции PowerShell 7.0 .

Возможности PowerShell 7

Изменения в каталоге PowerShell

Когда вы устанавливаете PowerShell 7(install PowerShell 7) , он устанавливается в новый каталог и запускается вместе с PowerShell 5.1 . Если вы обновляетесь с PowerShell Core 6.x , он перезапишет каталог PowerShell 6 и удалит все ненужные файлы. Вот список каталогов, которые вы должны знать:

PowerShell 7 установлен на

%programfiles%\PowerShell\7

Папка  %programfiles%\PowerShell\7 добавляется в $env:PATH

Пакеты установщика PowerShell 7 обновляют предыдущие версии PowerShell Core 6.x :

PowerShell Core 6.x в Windows:(PowerShell Core 6.x on Windows:)

%programfiles%\PowerShell\6

заменяется на 

%programfiles%\PowerShell\7

Линукс:(Linux:)

/opt/microsoft/powershell/6

заменяется на 

/opt/microsoft/powershell/7

macOS: 

/usr/local/microsoft/powershell/6

заменен на

/usr/local/microsoft/powershell/7

Новые функции в PowerShell 7

Я попытался вкратце объяснить каждую из этих функций и то, как они помогут пользователям (users)PowerShell . Тем не менее, не забудьте прочитать более подробно на официальной странице Microsoft .

  1. Конвейерное распараллеливание
  2. Новые операторы
  3. ConciseView и командлет Get-Error
  4. Автоматические уведомления о новых версиях
  5. Вызов(Invoke DSC) ресурсов DSC непосредственно из PowerShell 7
  6. Слой совместимости

Всегда проверяйте переменную среды(Environment Variable) перед тестированием реальных кодов.

1] Распараллеливание конвейера

Теперь вы можете выполнять или обрабатывать объекты параллельно вместо метода последовательности при использовании ForEach-Object -Parallel. В нашем посте об удалении WIM этот метод может отключить три образа WIM менее чем за 10 секунд вместо почти 25 секунд при последовательном выполнении. Вот пример кода для него:

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

2] Новые операторы

Есть три новых оператора — Ternary operator: a ? b : c, Pipeline chain operators: || and && and Null conditional operators: ?? and ??=.Они ведут себя как упрощенный оператор if-else. (behaves like a simplified if-else statement.)Они упрощают написание кода вместо постоянного использования цикла If-else.

3] ConciseView и командлет Get-Error

Получить команду ошибки Пусть PowerShell 7

ConciseView — это выбираемое пользователем представление, которое включено в качестве представления по умолчанию в PowerShell 7 . Если ошибка не из скрипта, вы получите однострочную ошибку. Однако, если это из скрипта или есть ошибка синтаксического анализа, вы получите многострочное сообщение об ошибке и указатель, показывающий, в какой строке произошла ошибка.

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

$Error | Get-Error

Get-Error -Newest 3 # Displays the last three errors that occurred in the session

4 ] Автоматические(] Automatic) уведомления о новой версии

Начиная с PowerShell 7 , система будет проверять наличие обновлений один раз в день и уведомлять о новой версии, если она доступна. Информация отображается только в начале последующих сеансов. Для обновления PowerShell(PowerShell Update) доступны три флага .

  • (Default )Выпуски GA, Preview и RC по умолчанию
  • Выкл(Off) . Â отключает функцию уведомлений об обновлениях.
  • LTS уведомляет только об обновлениях общедоступных выпусков с долгосрочным обслуживанием ( LTS ).

Если вы хотите отключить уведомления об обновлениях в PowerShell 7 , выполните эту команду в окне PowerShell .

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] Задействуйте ресурсы DSC(Invoke DSC) непосредственно из PowerShell 7.

Командлет  Invoke-DscResource запускает метод указанного ресурса PowerShell Desired State Configuration ( DSC ). Это экспериментальная функция.

Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

6] Слой совместимости

Это позволяет пользователям PowerShell импортировать модули в неявном сеансе Windows PowerShell . Используя это, вы сможете выполнять реальную команду в качестве сеанса на удаленном компьютере и возвращать результаты в локальный сеанс. Теперь, когда он поддерживает импорт модулей, вы можете запускать эти модули на удаленных компьютерах.

PowerShell — это программное обеспечение с открытым исходным кодом, доступное также для Linux и macOS. Приятно видеть так много новых функций в PowerShell 7 , и мы надеемся, что они будут расти. Подробнее об этом можно прочитать на сайте Microsoft(about it on Microsoft) .



About the author

Я Windows MVP и работаю с Windows с 2007 года. Мой опыт включает разработку программного обеспечения, оборудования и звука, а также приложений для Windows. Я всегда ищу лучшие способы улучшить взаимодействие с пользователем в своей работе, поэтому, если вам нужна помощь в проектировании или разработке программного приложения, я определенно могу предложить свои услуги.



Related posts