PowerShell 7.7 получил улучшения безопасности и перешел на .NET 11

2026-11-11 110 комментарии
Инструмент PowerShell 7.7 стал общедоступен. Новая версия построена на .NET 11 и содержит новые команды, улучшения безопасности и ряд изменений, нарушающих обратную совместимость.

PowerShell – мощный инструмент, который ИТ-администраторы используют прежде всего для автоматизации и управления большим числом систем. Недавно Microsoft выпустила инструкции по управлению резервными копиями параметров Windows с помощью PowerShell, а также по автоматизации активации Windows вместо использования slmgr.vbs. Теперь компания объявила об общедоступном выпуске PowerShell 7.7.

PowerShell 7.7.0 в Терминале Windows: $PSVersionTable с PSVersion 7.7.0 и FrameworkDescription .NET 11.0.0PowerShell 7.7.0 в Терминале Windows: версия 7.7.0, среда выполнения – .NET 11.0.0. Изображение: Comss.ru

Скачать PowerShell 7.7

Основа .NET 11 и новые команды

PowerShell 7.7 построен на .NET 11. Microsoft продолжает согласовывать выпуски PowerShell и .NET: предыдущая версия PowerShell 7.6 использовала .NET 10. Новый выпуск относится к ветке со стандартным сроком поддержки – Standard Term Support (STS). Основное внимание уделено безопасности, расширению набора команд и повышению надежности.

Модули

  • Microsoft.PowerShell.PSResourceGet
  • Microsoft.PowerShell.Archive

Модули Microsoft.PowerShell.Archive 1.2.7 и Microsoft.PowerShell.PSResourceGet 1.3.1 в PowerShell 7.7.0Модули Microsoft.PowerShell.Archive 1.2.7 и Microsoft.PowerShell.PSResourceGet 1.3.1 в составе PowerShell 7.7.0. Изображение: Comss.ru

Новые и улучшенные команды

  • Добавлен командлет New-TemporaryDirectory.
  • В Join-Path появился параметр -Extension.
  • В Format-Table, Format-List и Format-Custom добавлен параметр -ExcludeProperty.
  • Get-AuthenticodeSignature теперь возвращает свойство SubjectAlternativeName.
  • В WildcardPattern добавлен метод ToRegex().
  • New-Guid по умолчанию создает UUID версии 7, которые можно сортировать по времени.

Улучшения безопасности

  • В новой версии усилена защита режима ограниченного языка – Constrained Language Mode.
  • Улучшена проверка аргументов и кадров при удаленном взаимодействии через PowerShell и ужесточена проверка при распаковке обновляемой справки.
  • Командлет Test-Json больше не разрешает внешние ссылки на схемы без явного указания пользователя.

Test-Json в PowerShell 7.7 не загружает внешнюю схему: ссылки на внешние схемы не поддерживаются без параметра FetchExternalReferenceTest-Json не загружает внешнюю схему без параметра -FetchExternalReference. Изображение: Comss.ru

Изменения, нарушающие обратную совместимость

Перед развертыванием PowerShell 7.7 в рабочей среде необходимо учесть несколько изменений:

  • New-Guid по умолчанию создает UUID версии 7 с возможностью сортировки по времени вместо UUID версии 4. Если нужен полностью случайный GUID, следует использовать [guid]::NewGuid().
  • Format-Table, Format-List и Format-Custom теперь проверяют, что значение -Property не равно null и не является пустым.
  • Проверка аргументов на null или пустое значение теперь вызывает исключение System.ArgumentException.
  • Явно заданные значения false для переключателей операторов Where-Object, например -EQ:$false, теперь обрабатываются корректно.

Where-Object с -GT:$false в PowerShell 7.7 завершается ошибкой «Требуется оператор для сравнения двух указанных значений», в Windows PowerShell 5.1 тот же вызов возвращает 3 и 4В PowerShell 7.7 вызов Where-Object с -GT:$false завершается ошибкой, а в Windows PowerShell 5.1 тот же вызов срабатывает как -GT. Изображение: Comss.ru

Несмотря на обновление в рамках седьмой основной версии, PowerShell 7.7 получил немало новых возможностей и улучшений. Проект развивается с открытым исходным кодом и принимает изменения от участников со всего мира. Подробности доступны в примечаниях к выпуску. PowerShell 7.7 доступен для скачивания на нашем сайте.

Наши наблюдения

Мы установили PowerShell 7.7.0 на тестовый ПК с Windows 11, версия 26H2 (сборка 26300.9974). Установщика MSI у этой версии нет: для Windows Microsoft выпустила пакет PowerShell-7.7.0.msixbundle и ZIP-архивы, а у версии 7.6.10 MSI еще есть. О переходе с MSI на MSIX компания сообщала в апреле. Пакет устанавливается через «Установщик приложений» за несколько секунд, после чего открывается Терминал Windows с PowerShell 7.7.0, а в списке его профилей появляется профиль PowerShell. Из того же пакета MSIX версию 7.7 устанавливает и winget.

Читаете нас в Google? Добавьте Comss.ru в источникиДобавьте Comss.ru в источники Google
Новые статьи будут чаще в «Главных новостях» Google. Без подписок и уведомлений, отключается в один клик. Нужен вход в аккаунт Google.Наши статьи будут чаще в «Главных новостях». Нужен вход в Google.
Добавить в Google
© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте