Поделиться через


Новые возможности PowerShell 7.5

PowerShell 7.5-preview.5 включает следующие функции, обновления и критические изменения. PowerShell 7.5 основана на .NET 9.0.100-rc.1.

Полный список изменений доступен в журнале изменений в репозитории GitHub.

Критические изменения

  • Исправление -OlderThan и -NewerThan параметры для Test-Path диапазона дат PathType (#20942) (спасибо)@ArmaanMcleod!)
    • Ранее было -OlderThan бы проигнорировано, если указано вместе
  • Измените New-FileCatalog -CatalogVersion значение по умолчанию на 2 (#20428) (спасибо)@ThomasNieto!)
  • Блокировать получение справки из сетевых расположений в сеансах удаленного взаимодействия с ограниченным доступом (No 20593)
  • Установщик Windows теперь запоминает используемые параметры установки и использует их для инициализации параметров следующей установки (#20420) (спасибо)@reduckted!)
  • ConvertTo-Jsonтеперь сериализуется BigInteger как число (#21000) (спасибо)@jborean93!)

Обновленные модули

PowerShell 7.5-preview.5 включает следующие обновленные модули:

  • Microsoft.PowerShell.PSResourceGet версии 1.1.0-preview2
  • PSReadLine версии 2.3.5

Улучшения для заполнения нажатием клавиши TAB

Многие благодаря @ArmaanMcleod и другим людям за всю свою работу по улучшению завершения вкладки.

  • Возврат к выводу типа, когда хэш-значение ключа невозможно извлечь из безопасного выражения (#21184) (спасибо)@MartinGC94!)
  • Исправлена регрессия при выводе $_ типа (No 21223) (спасибо)@MartinGC94!)
  • Развертывание ~ в $home Windows с завершением вкладки (No 21529)
  • Не завершайте объявление имени параметра и члена класса (#21182) (спасибо)@MartinGC94!)
  • Предотвращение резервного завершения файла при завершении вкладки имен типов (#20084) (спасибо)@MartinGC94)
  • Добавление полного аргумента -Version для Set-StrictMode (#20554) (спасибо)@ArmaanMcleod!)
  • Добавление -Verb полного аргумента для Get-VerbGet-Command/ и рефактор Get-Verb (#20286) (спасибо)@ArmaanMcleod)
  • Добавление -Verb полного аргумента для Start-Process (#20415) (спасибо)@ArmaanMcleod)
  • Добавление -Scope полного аргумента для *-Variableкоманд *-Alias и *-PSDrive команд (#20451) (спасибо)@ArmaanMcleod)
  • Добавление -Module завершения для Save-Help/Update-Help команд (No 20678) (спасибо)@ArmaanMcleod)

Новые командлеты

  • Добавление ConvertTo-CliXml и ConvertFrom-CliXml командлеты (No 21063) (спасибо)@ArmaanMcleod!)

Улучшения веб-командлетов

  • Исправление для разрешения -PassThru и -Outfile совместной работы (No 24086) (спасибо)@jshigetomi!)
  • Добавление OutFile свойства в WebResponseObject (#24047) (спасибо)@jshigetomi!)
  • Показать имя файла в Invoke-WebRequest -OutFile -Verbose (#24041) (спасибо)@jshigetomi!)
  • Исправление webCmdlets при -Body указании, но ContentType не (#23952) (спасибо)@CarloToso!)
  • Исправление Invoke-WebRequest правильного размера отчета при -Resume указании (#20207) (спасибо)@LNKLEO!)
  • Исправление веб-командлетов для WinForm правильной работы приложений (#20606)

Другие улучшения командлетов

  • Включение -NoRestart работы с Register-PSSessionConfiguration (#23891)
  • Добавление IgnoreComments и AllowTrailingCommas параметры командлета Test-Json (#23817) (спасибо)@ArmaanMcleod!)
  • Get-Help может сообщать параметры с атрибутом в ValueFromRemainingArguments качестве конвейера (#23871)
  • Тип LineNumber ulong изменения в Select-String (No 24075) (спасибо)@Snowman-25!)
  • Get-Process: удаление требования администратора для -IncludeUserName (No 21302) (спасибо)@jborean93!)
  • Исправлено Test-Path -IsValid , чтобы проверить наличие недопустимых символов пути и имени файла (No 21358)
  • Добавление RecommendedAction в ConciseView отчеты об ошибках (No 20826) (спасибо)@JustinGrote!)
  • Добавлена индикатор выполнения для Remove-Item командлета (No 20778) (спасибо)@ArmaanMcleod!)
  • Исправление Test-Connection из-за изменений .NET 8 (#20369)
  • Исправление Get-Service без конца сообщения об ошибке для включения категории (#20276)
  • Добавление -Empty и -InputObject параметры в New-Guid (No 20014) (спасибо)@CarloToso!)
  • Добавьте псевдоним r в параметр -Recurse для Get-ChildItem команды (#20100) (спасибо)@kilasuit!)
  • Добавьте LP в LiteralPath псевдонимы для функций, которые по-прежнему отсутствуют (No 20820)
  • Добавьте резервную Import-LocalizedData версию неявной локализации (No 19896) (спасибо)@chrisdent-de!)
  • Добавьте Aliases в свойства, отображаемые при форматировании содержимого справки параметра, возвращаемого Get-Help (#20994)
  • Добавление HelpUri в Remove-Service (#20476)
  • Исправлена ошибка завершения для поставщика SCCM (#20815, #20919, #20915) (спасибо) @MartinGC94!)
  • Исправлена регрессия при Get-Content -Tail 0 -Wait совместном использовании (No 20734) (спасибо)@CarloToso!)
  • ИсправлениеStart-Process -PassThru, чтобы убедиться, что ExitCode свойство доступно для возвращаемого Process объекта (#20749) (спасибо)@CodeCyclone!)
  • Исправление Group-Object использования текущего языка и региональных параметров для выходных данных (No 20608)
  • Исправление Group-Object выходных данных с помощью интерполированных строк (No 20745) (спасибо)@mawosoft!)
  • Исправлена отрисовка DisplayRoot для сети PSDrive (No 20793)
  • Исправление Copy-Item хода выполнения только после копирования всех файлов (#20517)
  • Исправлена регрессия завершения пути UNC (No 20419) (благодарим@MartinGC94!)
  • Сообщение об ошибке, если недопустимая -ExecutionPolicy передача pwsh в (#20460)
  • Добавление модулей WinGetCommandNotFound и CompletionPredictor для отслеживания использования (#21040)
  • Добавление параметра DateKind в ConvertFrom-Json (#20925) (спасибо)@jborean93!)
  • Добавление DirectoryInfo в OutputType для new-Item (#21126) (спасибо)@MartinGC94!)
  • Исправлена Get-Error сериализация значений массива (#21085) (спасибо)@jborean93!)
  • Исправление Test-ModuleManifest , чтобы использовать UNC-путь (No 24115)
  • Исправление Get-TypeData для записи в конвейер немедленно, а не сначала сбор данных (#24236) (спасибо)@MartinGC94)
  • Добавление -Force параметра и Resolve-Path Convert-Path командлетов для поддержки скрытых файлов подстановочных знаков #20981 (спасибо @ArmaanMcleod!)

Улучшения подсистемы

  • Явный запуск и остановка цвета ошибки ANSI (No 24065) (спасибо)@JustinGrote!)
  • Улучшение определения перегрузки .NET для универсальных методов (#21326) (спасибо)@jborean93!)
  • += Оптимизируйте операцию для коллекции, когда это массив объектов (#23901) (спасибо)@jborean93!)
  • Добавление телеметрии для проверки определенных тегов при импорте модуля (#20371)
  • Добавление PSAdapter и ConsoleGuiTools добавление списка разрешений для загрузки телеметрии модуля (#20641)
  • Добавление модуля Winget для отслеживания использования (#21040)
  • Убедитесь, что имя файла не равно NULL при ведения журнала событий WDAC ETW (#20910) (спасибо)@jborean93!)
  • Исправлены четыре регрессии, представленные функцией ведения журнала WDAC (#20913)
  • Оставьте входные, выходные данные и ошибки не заданы, если они не перенаправлены (#20853)
  • Исправление неявных командлетов прокси-сервера для удаленного взаимодействия с общими параметрами (#20367)
  • Включите версию модуля в сообщения об ошибках, если модуль не найден (No 20144) (спасибо)@ArmaanMcleod!)
  • Исправление unixmode для обработки setuid и sticky когда файл не является исполняемым файлом (#20366)
  • Исправлено использование сборки для использования Path.Combine при создании путей сборки (#21169)
  • Проверьте значение для использования пространства имен во время семантических проверок, чтобы предотвратить объявление недопустимых пространств имен (#21162)
  • Обработка глобального инструмента специально при подготовке $PSHome к PATH (#24228)

Экспериментальные функции

Следующие экспериментальные функции были преобразованы в основные функции в PowerShell 7.5-preview.5:

В PowerShell 7.5-preview.5 включены следующие экспериментальные функции:

  • PSRedirectToVariable — разрешить перенаправление в переменную (#20381)
  • PSNativeWindowsTildeExpansion — добавление расширения тильды для собственных исполняемых файлов Windows (No 20402) (спасибо)@domsleee!)
  • PSSerializeJSONLongEnumAsNumber - ConvertTo-Json теперь обрабатывает большие перечисления как числа (No 20999) (спасибо)@jborean93!)