10 октября 2023
В 2018 г. появилось программное обеспечение PowerShell Core 6.0 как кроссплатформенный инструмент автоматизации для операционных систем Windows, Linux и MacOS. PowerShell Core имеет открытый исходный код и работает на платформе .NET Core 2.x, в отличии от предыдущих версий, работающих на .NET Framework.
В статье представлен обзор, как изменилось использование PowerShell с версии 6 до последнего обновления 7.x.
Вступление
Переход на PowerShell Core требовался для обеспечения кроссплатформенности продукта, но при этом привел к снижению функциональности, стабильности и надежности. Кроме того, пользователи столкнулись с проблемами совместимости с существующими модулями Windows PowerShell.
- Не поддерживаются уже привычные решения:
- Возможность параллельного выполнения команд с помощью workflows.
- Нет поддержки WMI v1 и соответственно не работают командлеты Get-WmiObject, Invoke-WmiMethod, Register-WmiEvent и т.д.
- Исчезли командлеты связанные с графическим отображением такие, как Out-GridView, Show-Command и параметр -ShowWindow
- Не работают модули ActiveDirectory и DnsClient.
0
В начале 2020 г. компания Microsoft выпустила PowerShell 7.0. В этом программном обеспечении удалось решить большую часть проблем 6-ой версии. 7-ая версия основана на .NET Core 3.x, где поддерживается множество API .NET Framework, обеспечивая обратную совместимость с более 90% существующих модулей Windows PowerShell. Теперь поддерживаются модули ActiveDirectory, DnsClient, DnsServer, BitLocker, BranchCache, Defender, Hyper-V и многие другие, полный список которых приводится на сайте Microsoft.
Вернулись командлеты требующие графическую функциональность, такие как Out-GridView и Show-Command. Повысилась стабильность и производительность.
В PowerShell 7.0 появились новые функции, в том числе:
- параллелизация конвейера с помощью ForEach-Object -Parallel;
- новые операторы:
- упрощенное динамическое представление ошибок и командлет Get-Error для более легкого анализа ошибок;
- автоматические уведомления о новых версиях;
- возможность вызывать ресурсы DSC непосредственно из PowerShell 7.
Жизненый цикл PowerShell 7.0 теперь соответствует политике жизненного цикла поддержки .NET Core и включает выпуски Long Term Service и non-Long Term Service.
1
Осенью 2020 г. вышла общедоступная версия PowerShell 7.1, основанная на .NET 5.0.
В этой версии появился ряд новых функций и обновлений:
- PSReadLine 2.1.0 с прогнозной технологией IntelliSense
- Версия PowerShell 7.1 опубликована в Microsoft Store.
- Пакеты установщика обновлены для новых версий ОС с поддержкой ARM64.
- 2 экспериментальные функции PSNullConditionalOperators и PSUnixFileStat стали основными.
- Добавлены 4 экспериментальные функции Microsoft.PowerShell.Utility.PSManageBreakpointsInRunspace, PSNativePSPathResolution, PSCultureInvariantReplaceOperator и PSSubsystemPluginModel.
2
PowerShell 7.2 — это следующий выпуск Long Term Servicing (LTS) на основе .NET 6.0.
Новые возможности, обновления и критические изменения:
- Добавлены новые универсальные пакеты установщика для большинства поддерживаемых дистрибутивов Linux.
- Включена поддержка Центра обновления Майкрософт в Windows.
- Добавлены две новые экспериментальные возможности.
– Улучшена поддержка передачи аргументов собственных команд.
– Включена поддержка цвета в ANSI для FileInfo.
- Улучшены варианты заполнения нажатием клавиши TAB.
- Семь экспериментальных функций стали основными, одна удалена.
- Платформа DSC отделена от PowerShell 7, чтобы обеспечить возможность внесения будущих улучшений.
- Несколько критических изменений для повышения удобства использования.
3
В начале 2023 г. появилась версия PowerShell 7.3, основанная на .NET 7.0.
Некоторые критические изменения в новой версии:
- PowerShell 7.3 не работает в Windows 7.
- PowerShell Direct для Hyper-V поддерживается только в Windows 10, версия 1809 и более поздних версиях.
- Test-Connection не работает из-за намеренного критического изменения в .NET 7
- Перемещение определения данных типа System.Security.AccessControl.ObjectSecurity в модуль Microsoft.PowerShell.Security.
- Дополнительные улучшения заполнения нажатием клавиши TAB.
- Улучшена обработка ошибок.
- Улучшены сеансы и удаленное взаимодействие.
- Обновлены ряд командлетов.
- Добавлены новые экспериментальные функции.
УЦ АйТи Клауд по направлению системное администрирование, сетевые технологии, безопасность сетей
Курсы к статье
Будьте в курсе всех событий
Затрудняетесь
с выбором курса?
Оставьте заявку на консультацию
Хотите преподавать в АйТи Клауд?
Если вы имеете компетенции и хотите работать тренером курсов в АйТи Клауд – оставьте ваши данные, мы свяжемся с вами!