Perfis do Windows PowerShell

Ao adicionar aliases, funções e variáveis, você os adiciona, na verdade, apenas à sessão atual do Windows PowerShell. Caso você saia da sessão ou feche o Windows PowerShell, as alterações serão perdidas.

Para reter as alterações, crie um perfil do Windows PowerShell e adicione os aliases, as funções e as variáveis ao perfil. O perfil será carregado sempre que iniciar o Windows PowerShell.

Para carregar o perfil, a diretiva de execução do Windows PowerShell deverá permitir o carregamento de arquivos de configuração. Se isso não for permitido e a tentativa de carregar o arquivo falhar, o Windows PowerShell exibirá uma mensagem de erro.

Obter informações sobre os perfis

É possível ter quatro perfis diferentes no Windows PowerShell. Os perfis são relacionados em ordem de carregamento. Os perfis mais específicos têm prioridade sobre os perfis menos específicos, onde forem aplicados.

  • %windir%\system32\WindowsPowerShell\v1.0\profile.ps1

    Esse perfil é aplicado a todos os usuários e a todos os shells.

  • %windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1

    Esse perfil é aplicado a todos os usuários, mas apenas ao shell Microsoft.PowerShell.

  • %UserProfile%\My Documents\WindowsPowerShell\profile.ps1

    Esse perfil é aplicado apenas ao usuário atual, mas afeta todos os shells.

  • %UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

    Esse perfil é aplicado apenas ao usuário atual e ao shell Microsoft.PowerShell.

Criação de um perfil

Quando você cria ou importa variáveis, aliases ou funções, ou adiciona um snap-in do Windows PowerShell, esses elementos são adicionados apenas à sessão atual. Caso você saia da sessão ou feche a janela, eles serão perdidos.

Para salvar variáveis, aliases, funções e comandos usados habitualmente e torná-los disponíveis em todas as sessões do Windows PowerShell, adicione-os ao seu perfil do Windows PowerShell.

Também é possível criar, compartilhar e distribuir perfis para aplicar uma exibição uniforme do Windows PowerShell em uma empresa maior.

Os perfis do Windows PowerShell não são criados automaticamente. Para criar um perfil, crie um arquivo de texto com o nome especificado no local especificado. Normalmente, você usa o perfil específico do usuário e do shell, denominado perfil do usuário do Windows PowerShell. O local desse perfil é armazenado na variável $profile.

Para exibir o caminho até o perfil do Windows PowerShell, digite:

$profile

Para determinar se um perfil do Windows PowerShell foi criado no sistema, digite:

test-path $profile

Se o perfil existir, a resposta será True; caso contrário, a resposta será False.

Para criar um arquivo de perfil do Windows PowerShell, digite:

new-item -path $profile -itemtype file -force

Para abrir o perfil no Bloco de notas, digite:

notepad $profile

Para criar um dos outros perfis, como o perfil que será aplicado a todos os usuários e a todos os shells, digite:

new-item -path $env:windir\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -force

O perfil só é efetivo quando o arquivo está localizado exatamente no caminho e com o nome de arquivo armazenado na variável $profile. Portanto, se você criar um perfil no Bloco de Notas e salvá-lo, ou se você copiar um perfil no seu sistema, não se esqueça de salvar o arquivo no caminho e com o nome de arquivo especificado na variável $profile.

Se você criar um perfil no Bloco de Notas, coloque o nome do arquivo entre aspas para preservar a extensão de nome de arquivo PS1. Por exemplo:

"Microsoft.PowerShell_profile.ps1"

Sem as aspas, o Bloco de notas acrescentará a extensão de nome de arquivo .txt ao arquivo, e o Windows PowerShell não o reconhecerá.

Use o perfil para armazenar os aliases, as funções e as variáveis usados com frequência. Um muito útil abre seu perfil de usuário no editor de texto favorito. Por exemplo, o comando a seguir cria uma função denominada pro, que abre o perfil do usuário no Bloco de Notas.

function pro { notepad $profile }

Um perfil bem projetado poderá facilitar ainda mais o uso do Windows PowerShell e a administração do sistema.