Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
PowerShell 7.6-preview.4 включает следующие функции, обновления и критические изменения. PowerShell 7.6 основан на выпуске общедоступной версии .NET 9.0.101.
Полный список изменений см. в CHANGELOG в репозитории GitHub.
Обновленные модули
PowerShell 7.6-preview.4 включает следующие обновленные модули:
- Microsoft.PowerShell.PSResourceGet версии 1.1.0
- PSReadLine версии 2.3.6
- Microsoft.PowerShell.ThreadJob версии 2.2.0
- ThreadJob версии 2.1.0
ThreadJob был переименован в модуль Microsoft.PowerShell.ThreadJob. Нет различий в функциональных возможностях модуля. Чтобы обеспечить обратную совместимость скриптов, использующих старое имя, модуль ThreadJob версии 2.1.0 — это прокси-модуль, указывающий на Microsoft.PowerShell.ThreadJob версии 2.2.0.
Разрушающие изменения
- Исправление
WildcardPattern.Escape
для правильного удаления резервных символов (#25211) (спасибо) @ArmaanMcleod!) - Преобразование
-ChildPath
параметраstring[]
вJoin-Path
командлет (No 24677) (спасибо) @ArmaanMcleod!) - Убрать хвостовой пробел из имени источника события (#24192) (спасибо @MartinGC94!))
Улучшения автозаполнения с помощью клавиши TAB
- Обновите вывод типа именованного блока и блока операторов, чтобы не учитывать операторы присваивания и операторы инкремента/декремента в их выходных данных (#21137) (спасибо )
- Добавление
-PropertyType
дополнителя аргументов дляNew-ItemProperty
(#21117) (спасибо @ArmaanMcleod!)) - Добавление поддержки одинарной или двойной кавычки для
-Noun
параметраGet-Command
(#24977) (спасибо @ArmaanMcleod!)) - Добавить поддержку завершения для одинарных/двойных кавычек параметра
-PSEdition
дляGet-Module
(#24971) (Спасибо @ArmaanMcleod!)) - Преобразуйте InvalidCommandNameCharacters в AnalysisCache на
SearchValues<char>
для более эффективного поиска символов (#24880) (Спасибо @ArmaanMcleod!)) - Преобразование s_charactersRequiringQuotes в завершителях автозаполнения на
SearchValues<char>
для более эффективного поиска символов (#24879) (Спасибо @ArmaanMcleod!)) - Обновите
IndexOfAny()
вызовы с недопустимым путем или именем файла наSearchValues<char>
, чтобы более эффективно искать символы ([#24896][24896]) (спасибо @ArmaanMcleod!)) - Замените
char[]
массив вCompletionRequiresQuotes
на кэшированныйSearchValues<char>
(#24907) (спасибо @ArmaanMcleod!)) - Добавление обработки кавычек в
Verb
,StrictModeVersion
,Scope
иPropertyType
завершителях аргументов с помощью одного вспомогательного метода (#24839) (спасибо @ArmaanMcleod!)) - Исправление завершения общего доступа с поставщиком и пробелов (№19440) (Спасибо @MartinGC94!))
- Улучшение вывода типов переменных (#19830) (спасибо) @MartinGC94!)
- Добавление подсказок для завершения хэш-ключей (#17864) (спасибо) @MartinGC94!)
- Исправить вывод типов параметров в классических функциях (#25172) (спасибо @MartinGC94!))
- Улучшение вывода типа назначения (#21143) (спасибо) @MartinGC94!)
- Исключение вневариантных назначений в пределах одного и того же
CommandAst
при выводе переменных (#25224) (спасибо) @MartinGC94!) - Исправление завершения параметров при сбое требований к скрипту (#17687) (спасибо) @MartinGC94!)
- Улучшение завершения аргументов атрибутов (#25129) (спасибо) @MartinGC94!)
- Исправление завершения, которое зависит от псевдобинирования в блоках скриптов (No 25122) (спасибо) @MartinGC94!)
- Не заполняйте повторяющиеся имена команд (#21113) @MartinGC94!)
- Добавление завершения для переменных, назначаемых перенаправлением команд (#25104) (благодарим @MartinGC94!)
- Исправление
TypeName.GetReflectionType()
для работы, когдаTypeName
экземпляр представляет определение универсального типа в пределах aGenericTypeName
(#24985) - Обновите завершение назначения переменных или свойств, чтобы вернуться к выводу типов (#21134) (спасибо) @MartinGC94!)
- Обработка вывода типов для перенаправленных команд (#21131) (Спасибо @MartinGC94!))
- Используйте
Get-Help
подход для поискаabout_*.help.txt
файлов с правильной локалью для завершения (#24194) (благодарим @MartinGC94!) - Исправление завершения переменных, назначенных внутри циклов Do (No 25076) (спасибо) @MartinGC94!)
- Исправление завершения путей поставщика, когда путь возвращает себя вместо дочерних элементов (No 24755) (спасибо) @MartinGC94!)
- Разрешение завершения областных переменных без явного указания области (#20340) (спасибо) @MartinGC94!)
- Исправлена проблема с неполными результатами при завершении путей с подстановочными знаками в поставщиках нефайловых систем (#24757) (Спасибо @MartinGC94!))
Улучшения командлета
- Добавление
-ExcludeModule
параметраGet-Command
в (#18955) (спасибо) @MartinGC94!) - Возвратите корректное значение свойства FileName для
Get-Item
, при перечислении альтернативных потоков данных (#18019) (Спасибо @kilasuit!)) - Исправлено сообщение
Get-ItemProperty
об ошибке без прекращения исключения приведения (No 21115) (спасибо) @ArmaanMcleod!) - Исправлена ошибка в обработке объекта XmlNode q (No 24669) (спасибо) @brendandburns!)
- Ошибка при
New-Item -Force
передаче недопустимого имени каталога (#24936) (спасибо) @kborowinski!) - Разрешить
Start-Transcript
использовать$Transcript
, что является обернутой строкойPSObject
, чтобы указать путь транскрипта (#24963) (спасибо @kborowinski!)) - Повышение
Start-Process -Wait
эффективности опроса (No 24711) (спасибо @jborean93!) - Добавить завершение модулей по их короткому имени (#20330) (Спасибо) @MartinGC94!)
Улучшения двигателя
- Добавлен модуль AIShell в список сбора данных телеметрии (No 24747)
- Добавлена вспомогательная функция для получения имен перечислений в формате массива (#17785) (спасибо @fflaten!))
- Обновление DnsNameList для X509Certificate2 для использования
X509SubjectAlternativeNameExtension.EnumerateDnsNames()
метода (#24714) (спасибо) @ArmaanMcleod!) - Stringify ErrorRecord с пустым сообщением об исключении в пустую строку (#24949) (спасибо) @MatejKafka!)
- Добавьте
PipelineStopToken
кCmdlet
, который будет сигнализироваться при остановке конвейера (#24620) (Спасибо @jborean93!)) - Возврат к AppLocker после
WldpCanExecuteFile
(#24912) - Переместите ведение журнала вызова метода .NET после осуществления необходимого преобразования типов аргументов метода (#25022)
- Исправление бесконечного цикла в выводе типа переменной (No 25206) (спасибо) @MartinGC94!)
- Удалите старое нечеткое предложение и исправьте предложение имени файла локального скрипта (#25177)
- Сделать
SystemPolicy
общедоступные API видимыми, но не op на платформах Unix, чтобы они могли быть включены вPowerShellStandard.Library
(No 25051) - Явная установка стандартных дескрипторов при запуске процесса с помощью
-NoNewWindow
(#25061) - Исправление подсказки для расширения переменной и включение desc (No 25112) (спасибо) @jborean93!)
- Допускается использование пустой строки префикса в 'Import-Module -Prefix', чтобы переопределить префикс по умолчанию в манифесте (#20409). Благодарим @MartinGC94!).
- Используйте файл скрипта для завершения относительных путей в инструкциях using (#20017). Спасибо @MartinGC94!)
- Разрешить разбор DSC с помощью уровней перевода архитектуры ОС (#24852) (спасибо) @bdeb1337!)
Экспериментальные функции
В PowerShell 7.6-preview.3 включены следующие экспериментальные функции:
- PSNativeWindowsTildeExpansion — добавление поддержки расширения тильды для исполняемых файлов, характерных для Windows.
- PSRedirectToVariable — разрешить перенаправление в переменную
-
PSSerializeJSONLongEnumAsNumber -
ConvertTo-Json
теперь обрабатывает большие перечисления как числа
PowerShell