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.
A versão PowerShell Core 6.2 focou em melhorias de desempenho, correções de bugs e melhorias menores em cmdlets e linguagem que melhoram a qualidade. Para ver a lista completa de melhorias, confira nossos changelogs detalhados no GitHub.
Recursos experimentais
Anteriormente, habilitávamos suporte para Recursos Experimentais. No lançamento 6.2, temos quatro recursos experimentais para testar. Por favor, forneça feedback para que possamos fazer melhorias e decidir se o recurso vale a pena ser promovido ao status mainstream.
Use Get-ExperimentalFeature para obter uma lista de recursos experimentais disponíveis. Você pode ativar ou desativar esses recursos com Enable-ExperimentalFeature e Disable-ExperimentalFeature.
Sugestões de comando não encontrado
Esse recurso usa correspondência difusa para encontrar sugestões de comandos ou cmdlets que você possa ter digitado errado.
Enable-ExperimentalFeature -Name PSCommandNotFoundSuggestion
Example
Neste exemplo, o nome do cmdlet com erro de ortografia é difuso com várias sugestões de mais provável para menos provável.
Get-Commnd
Get-Commnd : The term 'Get-Commnd' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path
is correct and try again.
At line:1 char:1
+ Get-Commnd
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Get-Commnd:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Suggestion [4,General]: The most similar commands are: Get-Command, Get-Content, Get-Job, Get-Module,
Get-Event, Get-Host, Get-Member, Get-Item, Set-Content.
Agrupamento remoto implícito
Ao usar remot implícito em um pipeline, o PowerShell trata cada comando no pipeline de forma independente. Os objetos são repetidamente serializados e de-serialized entre o cliente e o sistema remoto durante a execução do pipeline.
Com esse recurso, o PowerShell analisa o pipeline para determinar se o comando é seguro para executar e se ele existe no sistema alvo. Quando é verdade, o PowerShell executa todo o pipeline remotamente e só serializa e de-serializes os resultados retornam ao cliente.
Enable-ExperimentalFeature -Name PSImplicitRemotingBatching
Um teste real de Get-Process | Sort-Object overlocalhost diminui de 10-15 segundos para 20-30 milissegundos. O recurso só precisa ser ativado no cliente. Nenhuma alteração é necessária no servidor.
Tração temporária
Enable-ExperimentalFeature -Name PSTempDrive
Se você está usando o PowerShell Core em diferentes sistemas operacionais, vai perceber que a variável de ambiente para encontrar o diretório temporário é diferente no Windows, macOS e Linux! Com esse recurso, você recebe uma chamada Temp:PSDrive que é automaticamente mapeada para a pasta temporária do sistema operacional que você está usando.
Example
PS> "Hello World!" > Temp:/hello.txt
PS> Get-Content Temp:/hello.txt
Hello World!
Fique atento que comandos nativos de arquivo (como ls no Linux) não conhecem PSDrives e não vão ver esse Temp: disco.
Expansão de Abreviações
Espera-se que os cmdlets do PowerShell tenham substantivos descritivos. Isso resulta em nomes longos que são mais difíceis de digitar. Esse recurso permite que você digite os caracteres maiúsculos do cmdlet e use o tab complete para encontrar uma correspondência.
Enable-ExperimentalFeature -Name PSUseAbbreviationExpansion
Example
PS> i-arsavsf
Se você apertar tab e tiver o módulo Azure PowerShell Az instalado, ele irá autocompletar para:
PS> Import-AzRecoveryServicesAsrVaultSettingsFile
Observação
Esse recurso é destinado a ser usado de forma interativa. Formas abreviadas de cmdlets não podem ser executadas. Esse recurso não substitui os apelidos.
Alterações de quebra
- Corrija
-NoEnumerateo comportamento paraWrite-Outputser consistente com o PowerShell do Windows. (#9069) - Faça
Join-String -InputObject 1,2,3o resultado igual ao1,2,3 | Join-Stringresultado (#8611) (Obrigado @sethvs!) - Adicionar
-StableaSort-Objecte testes relacionados (#7862) (Obrigado @KirkMunro!) - Melhorar
Start-Sleepo cmdlet para aceitar frações de segundo (#8537) (Obrigado @Prototyyppi!) - Mude a hashtable para usar OrdinalIgnoreCase para estar
case-insensitiveem todas as Culturas (#8566) - Corrigir o LiteralPath para
Import-Csvvincular àGet-ChildItemsaída (#8277) (Obrigado @iSazonov!) - Não pula mais uma coluna sem nome se o delimitador de aspas duplas for usado em
Import-Csv(#7899) (Obrigado @Topping!) -
Get-ExperimentalFeatureNão tem-ListAvailablemais Switch (#8318) - O parâmetro de depuração agora é definido
$DebugPreferencecomo Continue em vez de Inquire (#8195) (Obrigado @KirkMunro!) - Honra
-OutputFormat, se especificado, em comando não interativo, redirecionado, codificado usado com pwsh (#8115) - Carregue o conjunto a partir do caminho da base do módulo antes de tentar carregar a partir do GAC (#8073)
- Remover tilde dos pacotes de pré-visualização do Linux (#8244)
- Processamento de movimento antes
-WorkingDirectorydo processamento de perfis (#8079) - Não adicione
PATHEXTvariável de ambiente no Unix (#7697) (Obrigado @iSazonov!)
Problemas conhecidos
- O remoto, nas plataformas Windows IOT ARM, apresenta um problema ao carregar módulos. Veja (#8053)
Atualizações e correções gerais
- Ativar a completação de abas insensíveis a maiúsculas minúsculas para arquivos e pastas no sistema de arquivos sensível a maiúsculas minúsculas (#8128)
- Torne público o PSVersionInfo.PSVersion e o PSVersionInfo.PSEdition (#8054) (Obrigado @KirkMunro!)
- Inferência de Tipo de Adicionar para
$_/$PSItemblocos incatch{ }(#8020) (Obrigado @vexx32!) - Corrigir inferência estática de tipo de invocação de método (#8018) (Obrigado @SeeminglyScience!)
- Crie tipos inferidos para
Select-Object,Group-Object, PSObject e Hashtable (#7231) (Obrigado @powercode!) - Método de chamada de suporte com
ByRef-likeparâmetros de tipo (#7721) - Lidar com o caso em que o caminho do módulo PowerShell do Windows já está no PSModulePath do ambiente (#7727)
- Ative
SecureStringos cmdlets para não-Windows armazenando o texto simples (#9199) - Melhorar a mensagem de erro em não-Windows ao importar clixml com securestring (#7997)
- Adicionando o parâmetro RespondiTo a
Send-MailMessage(#8727) (Obrigado @replicaJunction!) - Adicionar mensagem Obsoleta a
Send-MailMessage(#9178) - Correção
Restart-Computerpara funcionarlocalhostquando o WinRM não estiver presente (#9160) - Erro de
Start-Jobterminação de lançamento quando o PowerShell está sendo hospedado (#9128) - Adicione aceleradores e sufixos no estilo C# para ushort, uint, ulong e short literals (#7813) (Obrigado @vexx32!)
- Adicionados novos sufixos para literais numéricos - veja about_Numeric_Literals (#7901) (Obrigado @vexx32!)
- Reporte corretamente o nível de impacto quando o SupportsShouldProcess não estiver configurado como 'verdadeiro' (#8209) (Obrigado @vexx32!)
- Problemas com Pedidos de Correção de Charsets em Web Cmdlets (#8742) (Obrigado @markekraus!)
- Correção Espere
100-continueproblema com Web Cmdlets (#8679) (Obrigado @markekraus!) - Corrigir problema de bloqueio de arquivos com webcommandlets (#7676) (Obrigado @Claustn!)
- Corrigir o problema de análise da página de código em
Invoke-RestMethod(#8694) (Obrigado @markekraus!) - Refactore
ConvertTo-Jsonpara expor JsonObject.ConvertToJson como uma API pública (#8682) - Adicione profundidade máxima configurável com
ConvertFrom-Json-Depth (#8199) (Obrigado @louistio!) - Adicionar o parâmetro EscapeHandling no
ConvertTo-Jsoncmdlet (#7775) (Obrigado @iSazonov!) - Adicionar
-CustomPipeNameao pwsh eEnter-PSHostProcess(#8889) - Ative a criação de links simbólicos relativos no Windows com
New-Item(#8783) - Permitir que usuários do Windows no modo desenvolvedor criem links simbólicos sem elevação (#8534)
- Permitir
Write-Informationaceitar$null(#8774) - Correção
Get-Helppara funções avançadas com conteúdo de ajuda MAML (#8353) - Corrija
Get-Helpo problema do PSTypeName com -Parameter quando apenas um parâmetro é declarado (#8754) (Obrigado @pougetat!) - Correção do cálculo de tokens para
Get-Helpexecutada no ScriptBlock para ajuda com comentários. (#8238) (Obrigado @hubuk!) - Mude
Get-Helpo parâmetro do cmdlet -Parameter para que aceite arrays de string (#8454) (Obrigado @sethvs!) - Resolva o PAGER se seu caminho contiver espaços (#8571) (Obrigado @pougetat!)
- Adicionar um prompt ao uso de
lessna função 'help' para instruir o usuário a sair (#7998) - Adicione os tipos de suporte enum e personagem no
Format-Hexcmdlet (#8191) (Obrigado @iSazonov!) - Remover ShouldProcess de
Format-Hex(#8178) - Adicionar novos parâmetros de Offset e Count e
Format-Hexrefatorar o cmdlet (#7877) (Obrigado @iSazonov!) - Permita 'name' como chave de alias para 'label' em
ConvertTo-Html, permita que a entrada 'width' seja um inteiro (#8426) (Obrigado @mklement0!) - Faça propriedades calculadas baseadas em blocos de script funcionarem novamente em
ConvertTo-Html(#8427) (Obrigado @mklement0!) - Adicionar um cmdlet
Join-Stringpara criar texto a partir da entrada do pipeline (#7660) (Obrigado @powercode!) - Fix
Join-Stringcmdlet FormatString parameter logic (#8449) (Obrigado @sethvs!) - Voltar
Clear-Hosta usar$RAWUIe liberar para trabalhar sobre remotos (#8609) - Mudar
Clear-Hostpara simplesmente chamado[console]::cleare remover o alias claro do Unix (#8603) - Corrigir o LiteralPath para
Import-Csvvincular àGet-ChildItemsaída (#8277) (Obrigado @iSazonov!) - a função de ajuda não deveria usar pager para AliasHelpInfo (#8552)
- Adicionar
-UseMinimalHeadera paraStart-Transcriptminimizar o cabeçalho da transcrição (#8402) (Obrigado @lukexjeremy!) - Adicionar
Enable-ExperimentalFeatureeDisable-ExperimentalFeaturecmdlets (#8318) - Expor todos os cmdlets dos PSDiagnostics se logman.exe estiver disponível (#8366)
- Remover o parâmetro Persist da
New-PSDrivenon-Windowsplataforma (#8291) (Obrigado @lukexjeremy!) - Adicionar suporte para
cd +(#7206) (Obrigado @bergmeister!) - Habilitar
Set-Location -LiteralPathpara trabalhar com pastas nomeadas - e + (#8089) -
Test-Pathretorna$falsequando recebido um valor vazio ou$nullpath (#8080) (Obrigado @vexx32!) - Permitir que o parâmetro dinâmico seja retornado mesmo que o caminho não corresponda a nenhum provedor (#7957)
- Suporte
Get-PSHostProcessInfoeEnter-PSHostProcessem plataformas Unix (#8232) - Reduzir alocações no
Get-Contentcmdlet (#8103) (Obrigado @iSazonov!) - Permitir
Add-Contento compartilhamento do acesso à leitura com outras ferramentas enquanto escreve conteúdo (#8091) -
Get/Add-Contentlança erro melhorado ao mirar em um contêiner (#7823) (Obrigado @kvprasoon!) - Adicionar
-Name,-NoUserOverridese-ListAvailableparâmetros aoGet-Culturecmdlet (#7702) (Obrigado @iSazonov!) - Adicione o atributo unificado para completamento do parâmetro de codificação . (#7732) (Obrigado @ThreeFive-O!)
- Permitir IDs numéricos e nome de páginas de código registradas nos parâmetros de codificação (#7636) (Obrigado @iSazonov!)
- Correção
Rename-Item -Pathcom personagem coringa (#7398) (Obrigado @kwkam!) - Quando existe um
Start-Transcriptarquivo que existe, arquivo vazio em vez de excluir (#8131) (Obrigado @paalbra!) - Crie
Add-Typearquivos open source com FileAccess.Read e FileShare.Read explicitamente (#7915) (Obrigado @IISResetMe!) - Correção
Enter-PSSession -ContainerIdpara o Windows mais recente (#7883) - Garantir que a propriedade NestedModules seja preenchida por
Test-ModuleManifest(#7859) - Adicionar
%Fcase àGet-Date-UFormat (#7630) (Obrigado @britishben!) - Fix
Set-Service -Status Stoppedto stop services with dependies (#5525) (Obrigado @zhenggu!)