Perfis do PowerShell e zoxide

Resumo

O PowerShell pode carregar scripts de perfil em diferentes escopos ao iniciar. Uma mensagem exibida antes do prompt normalmente vem de uma instrução de saída em um desses scripts, não do próprio banner do PowerShell. Para identificar o arquivo realmente carregado na sessão, use $PROFILE e suas propriedades em vez de assumir um caminho fixo.

Perfis

O objeto automÔtico $PROFILE expõe o caminho do perfil da sessão atual e os caminhos dos quatro escopos padrão:

  • CurrentUserCurrentHost — perfil do usuĆ”rio para o host atual;
  • CurrentUserAllHosts — perfil do usuĆ”rio para todos os hosts;
  • AllUsersCurrentHost — perfil de todos os usuĆ”rios para o host atual;
  • AllUsersAllHosts — perfil de todos os usuĆ”rios e todos os hosts.

Em instalações convencionais do PowerShell 7 no Windows, $PSHOME costuma apontar para o diretório de instalação, mas o caminho correto de um perfil deve ser confirmado pela sessão. Perfis de todos os usuÔrios podem exigir elevação para edição.

Diagnóstico seguro

$PROFILE | Select-Object *
Test-Path $PROFILE
Get-Content $PROFILE

Antes de remover uma mensagem de abertura, localizar a linha que a produz no perfil efetivamente carregado. Manter inicializaƧƵes necessƔrias (como a do zoxide) e remover somente a saƭda explƭcita evita efeitos colaterais.

zoxide

O zoxide instala funções e hooks na sessão a partir do código produzido por zoxide init powershell. Uma forma comum de carregÔ-lo em um perfil é:

Invoke-Expression (& { (zoxide init powershell | Out-String) })

O argumento --cmd cd altera o prefixo dos comandos do zoxide para substituir cd; essa decisão muda o comportamento esperado do comando e deve ser adotada conscientemente. Se a inicialização jÔ estÔ em um perfil de usuÔrio, duplicÔ-la em um perfil global pode causar configuração redundante.

Contexto observado

Em 2026-08-24, um terminal do Yan apresentava uma mensagem personalizada após o banner do PowerShell 7. O registro da conversa também indicava inicialização de zoxide em perfil global e de usuÔrio. Isto é evidência de configuração local, não confirmação de que os caminhos ou o conteúdo ainda sejam os mesmos; validar na próxima sessão com $PROFILE antes de editar.

LimitaƧƵes e cuidados

  • -NoLogo oculta o banner do PowerShell, mas nĆ£o suprime texto emitido por scripts de perfil.
  • NĆ£o use -NoProfile como correção permanente sem considerar que ele tambĆ©m desativa zoxide, aliases e demais personalizaƧƵes do perfil.
  • Prefira editar o perfil de usuĆ”rio quando a personalização for individual; reserve perfis de todos os usuĆ”rios para configuração realmente compartilhada.

Fontes