Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O PowerShell 7.3 é a nova versão estável, criada a partir do .NET 7.0.
O PowerShell 7.3 inclui os recursos, as atualizações e as alterações da falha a seguir.
Alterações de falha e melhorias
- Nesta versão, as APIs do Windows foram atualizadas ou removidas para conformidade, o que significa que o PowerShell 7.3 não é executado no Windows 7. Embora o Windows 7 não tenha mais suporte, os builds anteriores podem ser executados no Windows 7.
- O PowerShell Direct para Hyper-V só tem suporte no Windows 10, versão 1809 e superiores.
Test-Connectionestá corrompido devido a uma alteração interruptiva intencional no .NET 7. O código de rastreamento é #17018- Adicionar o bloco
cleanao bloco de script como um par parabegin,processeendpara permitir a limpeza fácil de recursos (#15177) - Alterar padrão de
$PSStyle.OutputRenderingpara Host - Fazer com que
Out-StringeOut-Filemantenham a entrada de cadeia de caracteres inalterada (#17455) - Mover a definição de dados de tipo de System.Security.AccessControl.ObjectSecurity para o módulo Microsoft.PowerShell.Security (nº 16355) (Obrigado, #16355) (Obrigado @iSazonov!)
- Antes dessa alteração, o usuário não precisa importar explicitamente o módulo Microsoft.PowerShell.Security para usar as propriedades de código definidas para uma instância de System.Security.AccessControl.ObjectSecurity.
- Após essa alteração, um usuário precisa importar explicitamente o módulo Microsoft.PowerShell.Security para usar essas propriedades de código e métodos de código.
Aprimoramentos de conclusão da guia
- O PowerShell 7.3 inclui o PSReadline 2.2.6, que habilita o IntelliSense Preditivo por padrão. Para obter mais informações, confira about_PSReadLine.
- Corrigir a conclusão da guia dentro do bloco de script especificado para o
ValidateScriptAttribute. (#14550) (Obrigado @MartinGC94!) - Conclusão da guia adicionada para rótulos de loop após
break/continue(#16438) (Obrigado @MartinGC94!) - Melhorar a conclusão da Hashtable em vários cenários (#16498) (Obrigado @MartinGC94!)
- Nivelamento de parâmetro
- Parâmetro Arguments para
Invoke-CimMethod - Parâmetro FilterHashtable para
Get-WinEvent - Parâmetro Property para os cmdlets CIM
- Remove duplicatas de cenários de conclusão de membro
- Dar suporte a barras "/" no preenchimento do compartilhamento de rede (caminho UNC) (#17111) (Obrigado @sba923!)
- Aprimorar o preenchimento automático do membro (#16504) (Obrigado @MartinGC94!)
- Priorizar o preenchimento de ValidateSet em relação a Enumerações para parâmetros (#15257) (Obrigado @MartinGC94!)
- Adicionar suporte à inferência de tipo para métodos genéricos com parâmetros de tipo (#16951) (Obrigado @MartinGC94!)
- Melhorar a inferência e as conclusões de tipo (#16963) (Obrigado @MartinGC94!)
- Permite que os métodos sejam mostrados nos resultados de conclusão para
ForEach-Object -MemberName - Impede a conclusão em expressões que retornam void como
([void]("")) - Permite que construtores de classe não padrão apareçam quando a conclusão da classe é baseada no AST
- Permite que os métodos sejam mostrados nos resultados de conclusão para
- Aprimorar a inferência de tipos para
$_(#17716) (Obrigado @MartinGC94!) - Corrigir inferência de tipos para ICollection (#17752) (Obrigado @MartinGC94!)
- Impedir que chaves sejam removidas ao concluir variáveis (#17751) (Obrigado @MartinGC94!)
- Adicionar preenchimento em expressões de índice para dicionários (#17619) (Obrigado @MartinGC94!)
- Corrigir o preenchimento de tipo para tokens de atributo (#17484) (Obrigado @MartinGC94!)
- Aprimorar o preenchimento da guia de parâmetro dinâmico (#17661) (Obrigado @MartinGC94!)
- Evitar parâmetros posicionais de associação ao preencher o parâmetro na frente do valor (#17693) (Obrigado @MartinGC94!)
Tratamento de erro melhorado
- Definir
$?corretamente para a expressão de comando com redirecionamentos (#16046) - Corrigir um erro de conversão ao usar o
$PSNativeCommandUseErrorActionPreference(#15993) - Fazer com que o tratamento de erro de comando nativo respeite opcionalmente o
ErrorActionPreference(#15897) - Especificar o caminho do executável como
TargetObjectpara o código de saída diferente de zero ErrorRecord (#16108) (Obrigado @rkeithhill!)
Melhorias de sessão e comunicação remota
- Adição de
-Optionsao PSRP com comandos SSH para permitir a passagem de opções OpenSSH diretamente (#12802) (Obrigado @BrannenGH!) - Adicionar parâmetro
-ConfigurationFileapwshpara permitir iniciar um novo processo com a configuração de sessão definida em um.psscarquivo (#17447) - Adicionar suporte para uso de
New-PSSessionConfigurationFileem plataformas não Windows (#17447)
Cmdlets atualizados
- Adicionar o parâmetro
-HttpVersionaos cmdlets da Web (#15853) (Obrigado @hayhay27!) - Adicionar suporte a cmdlets da Web para tags de entrada abertas #16193) (Obrigado @farmerau!)
- Correção de
ConvertTo-Json -Depthpara permitir 100 no máximo (#16197) (Obrigado @KevRitchie!) - Melhoria do tratamento de variáveis ao chamar
Invoke-Commandcom a expressão$using:(#16113) (Obrigado @dwtaber!) - Adicionar
-StrictModeaInvoke-Commandpara permitir especificar o modo estrito quando invocar o comando localmente (#16545) (Obrigado, @Thomas-Yu!) - Adicionar o bloco
cleanao bloco de script como um par parabegin,processeendpara permitir a limpeza fácil de recursos (#15177) - Adicione o comutador
-Amendedao cmdletGet-CimClass(#1 (#17477) (Obrigado @iSazonov) ConvertFrom-Json -AsHashtablealterado para usar tabelas de hash ordenadas 17405)- Sequências de escape ANSI removidas em cadeias de caracteres antes do envio para
Out-GridView(#17664) - O parâmetro de Milissegundos foi adicionado a
New-TimeSpan#17621) (Obrigado @NoMoreFood!) - Mostrar parâmetros opcionais ao exibir definições e sobrecargas de método (nº 13799) (graças a #13799) (Obrigado @eugenesmlv!)
- Permitir que os comandos ainda sejam executados mesmo que o diretório de trabalho atual não exista mais (#17579)
- Adicionar suporte para HTTPS com
Set-AuthenticodeSignature -TimeStampServer(#16134) (Obrigado @Ryan-Hutchison-USAF!) - Renderizar números decimais em uma tabela usando a cultura atual (#17650)
- Adicionar acelerador de tipo ordenado para OrderedDictionary (#17804) (Obrigado @fflaten!)
- Adicionar
find.exeao comportamento de associação de argumento herdado para Windows (#17715) - Adicionar comutador
-noprofileloadtimea pwsh (#17535) (Obrigado @rkeithhill!)
Para ver uma lista completa das alterações, confira o log de alterações no repositório do GitHub.
Recursos experimentais
No PowerShell 7.3, os seguintes recursos experimentais se tornaram base:
PSAnsiRenderingFileInfo– esse recurso adiciona o membro$PSStyle.FileInfoe permite a colorização de tipos de arquivo específicos.PSCleanBlock– adiciona o blococleanao bloco de script como um par parabegin,processeendpara permitir uma limpeza rápida do recurso.PSAMSIMethodInvocationLogging– Estende os dados enviados ao AMSI para inspeção de modo a incluir todas as invocações de membros do método .NET.PSNativeCommandArgumentPassing – agora o PowerShell usa a propriedade ArgumentList do objeto StartProcessInfo em vez do mecanismo antigo de reconstrução de uma cadeia de caracteres ao invocar um executável nativo.
O PowerShell 7.3.1 adiciona
sqlcmd.exeà lista de comandos nativos no Windows que usam o estiloLegacyde passagem de argumento.PSExec– adiciona o novo cmdletSwitch-Process(aliasexec) para fornecer compatibilidadeexecpara sistemas não Windows.O PowerShell 7.3.1 alterou o alias
execpara uma função que encapsulaSwitch-Process. A função permite que você passe parâmetros a um comando nativo que possa ter uma associação incorreta ao parâmetro WithCommand.
O PowerShell 7.3 apresenta os seguintes recursos experimentais:
- PSNativeCommandErrorActionPreference – adiciona a variável
$PSNativeCommandUseErrorActionPreferencepara habilitar erros produzidos por comandos nativos como erros do PowerShell.
O PowerShell 7.3 removeu os seguintes recursos experimentais:
- Não há mais suporte para o recurso experimental
PSNativePSPathResolution. - Não há mais suporte para o recurso experimental
PSStrictModeAssignment.
Para obter mais informações sobre os recursos experimentais, confira Usar recursos experimentais.