O que há de novo no PowerShell 7.5
O PowerShell 7.5-preview.5 inclui os seguintes recursos, atualizações e alterações interruptivas. O PowerShell 7.5 foi desenvolvido com base no .NET 9.0.100-rc.1.
Para ver uma lista completa das alterações, confira o LOG DE MUDANÇAS no repositório do GitHub.
Alterações de quebra
- Corrigir os parâmetros
-OlderThan
e-NewerThan
paraTest-Path
ao usarPathType
e intervalo de datas (nº20942) (Obrigado @ArmaanMcleod!)- Anteriormente,
-OlderThan
seria ignorado se especificado em conjunto
- Anteriormente,
- Altere o padrão
New-FileCatalog -CatalogVersion
para 2 (nº20428) (Obrigado @ThomasNieto!) - Bloquear a obtenção de ajuda de locais de rede em sessões remotas restritas (nº20593)
- O instalador do Windows agora lembra as opções de instalação usadas e as utiliza para inicializar as opções da próxima instalação (n° 20420) (Obrigado, @reduckted!)
ConvertTo-Json
agora serializaBigInteger
como um número (n° 21000) (Obrigado, @jborean93!)
Módulos atualizados
O PowerShell 7.5-preview.5 inclui os seguintes módulos atualizados:
- Microsoft.PowerShell.PSResourceGet v1.1.0-preview2
- PSReadLine v2.3.5
Aprimoramentos de conclusão da guia
Muito obrigado a @ArmaanMcleod e a outras pessoas por todo o seu trabalho para aprimorar a conclusão das guias.
- Voltar à inferência de tipo quando o valor-chave hashtable não puder ser recuperado da expressão segura (n° 21184) (Obrigado, @MartinGC94!)
- Corrigir a regressão ao fazer a inferência de tipos para
$_
(n° 21223) (Obrigado, @MartinGC94!) - Expandir
~
para$home
no Windows com preenchimento de guia (n° 21529) - Não concluir ao declarar o nome do parâmetro e o membro da classe (n° 21182) (Obrigado, @MartinGC94!)
- Impedir o fallback para a conclusão do arquivo quando o tabulador completar nomes de tipos (nº20084) (Obrigado @MartinGC94)
- Adicionar complemento de argumento a
-Version
paraSet-StrictMode
(nº20554) (Obrigado @ArmaanMcleod!) - Adicionar o concluidor de argumentos
-Verb
paraGet-Verb
/Get-Command
e refatorarGet-Verb
(nº20286) (Obrigado @ArmaanMcleod) - Adicionar o complemento do argumento
-Verb
paraStart-Process
(nº20415) (Obrigado @ArmaanMcleod) - Adicionar o complemento do argumento
-Scope
para comandos*-Variable
,*-Alias
e*-PSDrive
(nº20451) (Obrigado @ArmaanMcleod) - Adicionar a conclusão
-Module
paraSave-Help
/Update-Help
comandos (nº20678) (Obrigado @ArmaanMcleod)
Novos cmdlets
- Adicionar os cmdlets
ConvertTo-CliXml
eConvertFrom-CliXml
(#21063) (Obrigado @ArmaanMcleod!)
Melhorias nos cmdlets da Web
- Correção para permitir que
-PassThru
e-Outfile
trabalhem em conjunto (# 24086) (Obrigado @jshigetomi!) - Adicionar a propriedade
OutFile
emWebResponseObject
(# 24047) (Obrigado @jshigetomi!) - Mostrar nome do arquivo em
Invoke-WebRequest -OutFile -Verbose
(# 24041) (Obrigado @jshigetomi!) - Corrigir WebCmdlets quando
-Body
é especificado, masContentType
não é (# 23952) (Obrigado @CarloToso!) - Corrigir
Invoke-WebRequest
para informar o tamanho correto quando-Resume
for especificado (nº20207) (Obrigado @LNKLEO!) - Corrigir os Cmdlets Web para permitir que os aplicativos
WinForm
funcionem corretamente (nº20606)
Aprimoramentos de outros cmdlet
- Habilitar
-NoRestart
para trabalhar comRegister-PSSessionConfiguration
(#23891) - Adicionar as opções
IgnoreComments
eAllowTrailingCommas
ao cmdletTest-Json
(#23817) (Obrigado @ArmaanMcleod!) - Get-Help pode relatar parâmetros com o atributo
ValueFromRemainingArguments
como passível de uso em pipeline (# 23871) - Alterar tipo de
LineNumber
paraulong
emSelect-String
(# 24075) (Obrigado @Snowman-25!) Get-Process
: remover o requisito de administrador para-IncludeUserName
(n° 21302) (Obrigado, @jborean93!)- Corrigir
Test-Path -IsValid
para verificar se há caracteres inválidos de caminho e nome de arquivo (n° 21358) - Adicionar
RecommendedAction
aoConciseView
do relatório de erros (n° 20826) (Obrigado, @JustinGrote!) - Adicionada barra de progresso para o cmdlet
Remove-Item
(n° 20778) (Obrigado, @ArmaanMcleod!) - Correção
Test-Connection
devido a alterações no .NET 8 (nº20369) - Corrigir a mensagem de erro
Get-Service
não finalizada para incluir a categoria (nº20276) - Adicione os parâmetros
-Empty
e-InputObject
aNew-Guid
(nº20014) (Obrigado @CarloToso!) - Adicione o alias
r
ao parâmetro-Recurse
do comandoGet-ChildItem
(nº20100) (Obrigado @kilasuit!) - Adicionar aliases
LP
aLiteralPath
para funções ainda estão ausentes (nº20820) - Adicionar fallback de localização implícita para
Import-LocalizedData
(nº19896) (Obrigado @chrisdent-de!) - Adicione
Aliases
às propriedades exibidas ao formatar o conteúdo da ajuda do parâmetro retornado porGet-Help
(nº20994) - Adicionar
HelpUri
aRemove-Service
(nº20476) - Correção da falha de conclusão do provedor SCCM (nº20815, nº20919, nº20915) (Obrigado @MartinGC94!)
- Corrigir a regressão em
Get-Content
quando-Tail 0
e-Wait
são usados juntos (nº20734) (Obrigado @CarloToso!) - Corrija
Start-Process -PassThru
para garantir que a propriedadeExitCode
esteja acessível para o objetoProcess
retornado (nº20749) (Obrigado @CodeCyclone!) - Corrigir
Group-Object
para usar a cultura atual em sua saída (nº20608) - Corrigir a saída
Group-Object
usando cadeia de caracteres interpoladas (nº20745) (Obrigado @mawosoft!) - Corrigir a renderização de
DisplayRoot
para a redePSDrive
(nº20793) - Corrigir o progresso de
Copy-Item
para que seja exibido como concluído somente quando todos os arquivos forem copiados (nº20517) - Corrigir a regressão do preenchimento do caminho UNC (nº20419) (Obrigado @MartinGC94!)
- Reportar o erro se
-ExecutionPolicy
inválido for passado parapwsh
(nº20460) - Adicione os módulos WinGetCommandNotFound e CompletionPredictor para rastrear o uso (#21040)
- Adicione o parâmetro DateKind a
ConvertFrom-Json
(#20925) (Obrigado @jborean93!) - Adicione DirectoryInfo ao OutputType para New-Item (nº 21126) (Obrigado @MartinGC94!)
- Corrigir serialização de
Get-Error
de valores de matriz (#21085) (Obrigado @jborean93!) - Corrigir
Test-ModuleManifest
para que ele possa usar um caminho UNC (# 24115) - Corrigir
Get-TypeData
para gravar no pipeline imediatamente em vez de coletar dados primeiro (# 24236) (Obrigado @MartinGC94) - Adicionar parâmetro
-Force
aos cmdletsResolve-Path
eConvert-Path
para dar suporte a arquivos ocultos curinga #20981 (Obrigado @ArmaanMcleod!)
Aprimoramentos no mecanismo
- Iniciar e parar explicitamente a cor de erro ANSI (# 24065) (Obrigado @JustinGrote!)
- Melhorar a definição de sobrecarga do .NET de métodos genéricos (# 21326) (Obrigado @jborean93!)
- Otimizar a operação
+=
de uma coleção quando for uma matriz de objetos (# 23901) (Obrigado @jborean93!) - Adicionar telemetria para verificar se há tags específicas ao importar um módulo (nº20371)
- Adicione
PSAdapter
eConsoleGuiTools
à lista de permissões de telemetria de carga do módulo (nº20641) - Adicionar o módulo Winget para rastrear o uso (nº21040)
- Certifique-se de que o nome do arquivo não seja nulo ao registrar eventos do WDAC ETW (nº20910) (Obrigado @jborean93!)
- Correção de quatro regressões introduzidas pelo recurso de registro do WDAC (nº20913)
- Deixar os identificadores de entrada, saída e erro sem definição quando eles não forem redirecionados (nº20853)
- Corrigir os cmdlets de proxy de comunicação remota implícita para atuar em parâmetros comuns (nº20367)
- Incluir a versão do módulo em mensagens de erro quando o módulo não for encontrado (nº20144) (Obrigado @ArmaanMcleod!)
- Corrigir
unixmode
para lidar comsetuid
esticky
quando o arquivo não for um executável (nº20366) - Corrigido o uso de assembly para usar Path.Combine ao construir caminhos de montagem (#21169)
- Valide o valor para usar namespace durante verificações semânticas para evitar a declaração de namespaces inválidos (#21162)
- Lidar com a ferramenta global especialmente ao anexar
$PSHome
ao PATH (# 24228)
Recursos experimentais
Os seguintes recursos experimentais foram convertidos em recursos principais no PowerShell 7.5-preview.5:
Os seguintes recursos experimentais estão incluídos no PowerShell 7.5-preview.5:
- PSRedirectToVariable - Permite redirecionar para uma variável (#20381)
- PSNativeWindowsTildeExpansion - Adicionar expansão til para executáveis nativos do Windows (# 20402) (Obrigado @domsleee!)
- PSSerializeJSONLongEnumAsNumber -
ConvertTo-Json
agora trata enumerações grandes como números (# 20999) (Obrigado @jborean93!)