PowerShell Profiles

Neste tutorial vamos ver sobre PowerShell Profiles e seu uso. Os perfis PowerShell ajudam a personalizar seu ambiente e adicionar elementos para cada sessão PowerShell que você iniciar. O perfil PowerShell é um script que corre sempre que iniciamos o PowerShell. Você é capaz de usar um perfil PowerShell como um script de login para personalizar o ambiente. Ao usar um perfil PowerShell, você pode adicionar comandos, apelidos, funções, variáveis, snap-ins, módulos, PSDrives e quaisquer outros elementos específicos da sessão no seu evnironmet. Você não terá que importá-los ou recriá-los toda vez que você executar o PowerShell. Ele será carregado automaticamente. O PowerShell suporta vários perfis para utilizadores e programas anfitriões. PowerShell não cria nenhum perfil para você.

Se você quiser comandos específicos da sessão, variáveis, variáveis de preferência, apelidos, funções, comandos (exceto para Set-ExecutionPolicy), e módulos PowerShell que você usa freqüentemente, você pode usar perfis para carregar em todas as sessões futuras.

Profile Files

Console PowerShell suporta os seguintes perfis:

  • $Home\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 – Usuário atual, Host atual
  • $Home\Documents\PowerShell\Profile.ps1 – Usuário atual, Todos os Hosts
  • $PsHome\Microsoft.PowerShell_profile.ps1 – Todos os usuários, Host atual
  • $PsHome\Profile.ps1 – Todos os usuários, Todos os Hosts

Os perfis acima são mostrados em ordem de precedência. O primeiro perfil da lista tem a maior ordem de precedência. Como você pode ver nos perfis acima, nós temos duas variáveis. As variáveis $PSHome e $Home apresentam os seguintes valores.

  • $PSHome – Armazena o directório de instalação do PowerShell
  • $Home – Armazena o directório home do utilizador actual

Outros programas que hospedam o PowerShell podem suportar os seus próprios perfis. PowerShell Integrated Scripting Environment (ISE) suporta os seguintes perfis específicos do host.

  • $Home\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1 – Current user, Current Host
  • $PsHome\Microsoft.PowerShellISE_profile.ps1 – All users, Current Host

As per Microsoft, na Ajuda do PowerShell, o perfil “CurrentUser, Current Host” é o perfil mais frequentemente referido como “seu perfil PowerShell”.

Variável Perfil

No PowerShell temos uma variável automática chamada $Profile. Todos os caminhos de perfil PowerShell que estão disponíveis na sessão actual são guardados em $Profile variável. Ao visualizar a variável $Profile, você verá o caminho do perfil.

>A variável $Profile armazena o caminho para o perfil “Current User, Current Host”. Os outros perfis são guardados nas propriedades da variável $Profile> variável.

>

Pode especificar um perfil usando as propriedades da variável. No Windows PowerShell Console, nós temos os seguintes valores na variável $Profile.

  • $Profile – Current User, Current Host
  • $Profile.CurrentUserCurrentHost – Current User, Current Host
  • $Profile.CurrentUserAllHosts – Current User, All Hosts
  • $Profile.AllUsersCurrentHost – All Users, Current Host
  • $Profile.AllUsersAllHosts – All Users, All Hosts

Você é capaz de usar a variável $Profile nos seus comandos.

Código:

Test-Path -Path $PROFILETest-Path -Path $PROFILE.CurrentUserCurrentHostTest-Path -Path $PROFILE.CurrentUserAllHostsTest-Path -Path $PROFILE.AllUsersCurrentHostTest-Path -Path $PROFILE.AllUsersAllHosts

Saída:

O teste dos comandos acima se o perfil especificado tiver sido criado. Como você pode ver, a resposta é falsa para todos eles. Como você já mencionamos anteriormente, os perfis não são criados por padrão. Você terá que criá-los.

Criar um perfil

Para criar um perfil você precisa usar o seguinte comando.

Código:

New-Item -ItemType File -Path $profile -Force

O comando acima irá criar um perfil para “Current User, Current Host”.

Note que o acima irá substituir qualquer perfil existente. Se quiser assegurar que não irá substituir nenhum perfil que já exista e perder as alterações que já aplicou, pode tentar o abaixo.

Code:

if (-not (Test-Path -Path $profile.AllUsersAllHosts)){ New-Item -ItemType File -Path $profile.AllUsersAllHosts -Force}

O comando acima irá verificar se existe um perfil para “All Users, All Hosts” e se não existir irá criar o perfil.

Para criar um perfil terá de correr a consola PowerShell como administrador. Isto aplica-se a partir do Windows Vista e versões posteriores.

Editar um perfil

Se um perfil existe e você precisa aplicar algumas alterações ou adições, você precisa usar um editor de texto para editar o perfil. Usando o notepad é uma maneira fácil de editar o perfil.

Código:

notepad $profile

Como você pode ver abaixo meu perfil atual está configurado para fornecer uma mensagem de boas-vindas quando eu abro meu console.

Agora eu vou usar o comando acima para aplicar algumas alterações no meu perfil.

>Below são as alterações que eu tenho aplicado.

>

Então quando eu reiniciar o console PowerShell, como você pode ver as alterações foram aplicadas.

Diretivas do perfil

Below Eu vou fornecer algumas diretrizes para a configuração de seus perfis, como fornecido pela Microsoft.

Se você usa vários aplicativos host, coloque os itens que você usa em todos os aplicativos host no seu $Profile.CurrentUserAllHostsprofile. Coloque os itens específicos de um aplicativo host, como um comando que define a cor de fundo para um aplicativo host, em um perfil específico para esse aplicativo host.

Se você é um administrador que está personalizando o PowerShell para muitos usuários, siga estas diretrizes:

  • Armazene os itens comuns no $profile.AllUsersAllHosts perfil
  • Armazene itens que são específicos para um aplicativo host em $profile.AllUsersCurrentHost perfis que são específicos para o aplicativo host
  • Armazene itens para usuários particulares nos perfis específicos do usuário

Certifique-se de verificar a documentação do aplicativo host para qualquer implementação especial dos perfis do PowerShell.

Sem perfil

Even se tiver criado perfis para carregar cada vez que abrir o seu console, você tem permissão para executar o PowerShell sem qualquer perfil a ser carregado. Pode fazer isto executando o PowerShell com o parâmetro -NoProfile. Isto pode ser feito a partir de cmd.exe, caixa de diálogo Executar ou o próprio PowerShell.

Código:

PowerShell -NoProfile

Política de execução

A política de execução do PowerShell determina se pode executar scripts e carregar ficheiros de configuração, incluindo os perfis. A política de execução “Restrita” é o padrão. Você pode encontrar mais informações sobre a política de execução do PowerShell aqui. Se você usar a política “Restrita”, ela impede que todos os scripts sejam executados, incluindo os perfis. O conteúdo do perfil não é aplicado. Um comando Set-ExecutionPolicy muda sua política de execução em todas as sessões do PowerShell porque o valor é salvo no registro. Não é necessário defini-lo quando abre o console, ou armazenar um comando Set-ExecutionPolicy no seu perfil.

Perfil na sessão remota

Perfis PowerShell não são executados automaticamente nas sessões remotas, portanto os comandos que os perfis adicionam não estão presentes na sessão remota. Além disso, a variável automática $Profile não é preenchida em sessões remotas.

Se quisermos executar o perfil a partir do nosso computador local, para uma sessão remota, precisamos usar Invoke-Command cmdlet.

O exemplo abaixo irá executar o perfil local para uma sessão remota.

Código:

$MySession = New-PSSession -ComputerName RemoteComputerInvoke-Command -Session $MySession -FilePath $profile

Eliminar:

Como o perfil não será preenchido em sessão remota, também podemos carregar o perfil remoto para a sessão. Verifique o exemplo abaixo.

Código:

$MySession = New-PSSession -ComputerName RemoteComputerInvoke-Command -Session $MySession -ScriptBlock {. "$env:USERPROFILE\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

Eliminar:

>

Espero que o tutorial sobre PowerShell Profiles seja útil.

Por favor, deixe-me saber seus comentários e pensamentos.

O seu feedback é apreciado.

>

Links Relacionados

    >

  • Tutoriais PowerShell
  • >

  • Escripts PowerShell
  • >

  • Sobre_Perfis | Microsoft Docs
  • >

  • Variáveis Automáticas PowerShell
  • >

  • Operadores Lógicos PowerShell
  • >

  • Política de Execução PowerShell
  • >

  • TesteCaminho – Microsoft Docs
  • Novo-Item – Microsoft Docs
  • Saída de escrita – Microsoft Docs
  • Set-ExecutionPolicy – Microsoft Docs
  • Invoque…Comando – Microsoft Docs
Sumário
> Nome do Artigo
PowerShell Profiles
Descrição
PowerShell Profiles. Neste tutorial você encontrará informações sobre PowerShell Profiles e seu uso. Blog Stephanos Constantinou
Autor
Stephanos
Nome do Editor
Blog Stephanos Constantinou
Logotipo do Editor

Deixe uma resposta

O seu endereço de email não será publicado.