• 11/30/2017
  • 7 minutos para ler
    • S
    • s
    • x
    • q

Curta Descrição

Descrifica como criar e usar um perfil PowerShell.

Descrição longa

Pode criar um perfil PowerShell para personalizar o seu ambiente e adicionar elementos específicos a cada sessão PowerShell que inicia.

Um perfil PowerShell é um script que corre quando o PowerShell arranca. Você pode usar o perfil como um script de logon para customizar o ambiente. Você pode adicionar comandos, aliases, funções, variáveis, snap-ins, módulos e PowerShelldrives. Você também pode adicionar outros elementos específicos da sessão ao seu perfil que estão disponíveis em cada sessão sem ter que importá-los ou recriá-los.

PowerShell suporta vários perfis para usuários e programas host. No entanto, ele não cria os perfis para você. Este tópico descreve os perfis, e descreve como criar e manter perfis no seu computador.

Explica como usar o parâmetro NoProfile do console PowerShell(PowerShell.exe) para iniciar o PowerShell sem nenhum perfil. E, explica o efeito da política de execução do PowerShell nos perfis.

Os ficheiros de perfil

PowerShell suporta vários ficheiros de perfil. Além disso, os programas da máquina PowerShell podem suportar os seus próprios perfis específicos de máquina.

Por exemplo, a consola PowerShell suporta os seguintes ficheiros de perfil básicos. Os perfis são listados em ordem de precedência. O primeiro perfil tem a maior precedência.

Descrição Caminho
Todos os utilizadores, todos os anfitriões $PSHOME\Profile.ps1
Todos os usuários, Anfitrião atual $PSHOME\Microsoft.PowerShell_profile.ps1
Usuário atual, Todos os Hosts $Home\Documentos\PowerShell\Profile.ps1
Usuário actual, Anfitrião actual $Home\Documentos\PowerShell\
Microsoft.PowerShell_profile.ps1

Os caminhos do perfil incluem as seguintes variáveis:

  • A variável $PSHOME, que armazena o diretório de instalação do PowerShell
  • A variável $Home, que armazena o diretório home do usuário atual

Além disso, outros programas que hospedam o PowerShell podem suportar seus próprios perfis. Por exemplo, o Visual Studio Code suporta os seguintes perfis específicos.

Descrição Caminho
Todos os utilizadores, Anfitrião Actual $PSHOME\Microsoft.VSCode_profile.ps1
Usuário actual, Current Host $Home\Documents\PowerShell\
Microsoft.VSCode_profile.ps1

Na Ajuda PowerShell, o perfil “CurrentUser, Current Host” é o perfil mais frequentemente referido como “seu perfil PowerShell”.

A variável $PROFILE

A variável automática $PROFILE armazena os caminhos para os perfis PowerShell que estão disponíveis na sessão actual.

Para ver um caminho de perfil, mostre o valor da variável $PROFILE. Você canalso usa a variável $PROFILE num comando para representar um caminho.

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

Por exemplo, a variável $PROFILE tem os seguintes valores no console do WindowsPowerShell.

>

Descrição Nome
Usuário actual, Anfitrião actual $PROFILE
Usuário actual, Anfitrião atual >$PROFILE.CurrentUserCurrentHost>
Usuário atual, Todos os Anfitriões $PROFILE.CurrentUserAllHosts
Todos os usuários, Current Host $PROFILE.AllUsersCurrentHost
All Users, All Hosts $PROFILE.AllUsersAllHosts

Porque os valores da variável $PROFILE mudam para cada utilizador e em cada aplicação de alojamento, certifique-se de que exibe os valores das variáveis de perfil em cada aplicação de alojamento PowerShell que utiliza.

Para ver os valores actuais da variável $PROFILE, digite:

$PROFILE | Get-Member -Type NoteProperty

Pode usar a variável $PROFILE em muitos comandos. Por exemplo, o seguinte comando abre o perfil “Current User, Current Host” no Notepad:

notepad $PROFILE

O seguinte comando determina se foi criado um perfil “All Users, All Hosts” no computador local:

Test-Path -Path $PROFILE.AllUsersAllHosts

Como criar um perfil

Para criar um perfil PowerShell, use o seguinte formato de comando:

if (!(Test-Path -Path <profile-name>)) { New-Item -ItemType File -Path <profile-name> -Force}

Por exemplo, para criar um perfil para o utilizador actual na aplicação anfitriã PowerShell actual, use o seguinte comando:

if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force}

Neste comando, a instrução If previne que você escreva por cima de um perfil existente. Substitua o valor de <profile-path> placeholder pelo caminho para o ficheiro de perfil que pretende criar.

Note

Para criar perfis “Todos os Utilizadores” no Windows Vista e versões posteriores do Windows, inicie o PowerShell com a opção Run as administrator.

Como editar um perfil

Pode abrir qualquer perfil PowerShell num editor de texto, tal como o Notepad.

Para abrir o perfil do utilizador actual na aplicação PowerShell actual no Notepad, digite:

notepad $PROFILE

Para abrir outros perfis, especifique o nome do perfil. Por exemplo, para abrir o perfil para todos os utilizadores de todas as aplicações anfitriãs, digite:

notepad $PROFILE.AllUsersAllHosts

Para aplicar as alterações, guarde o ficheiro de perfil e depois reinicie o PowerShell.

Como escolher um perfil

Se utiliza várias aplicações anfitriãs, coloque os itens que utiliza em todas as aplicações anfitriãs no seu perfil $PROFILE.CurrentUserAllHosts. Coloque os itens que são específicos para um aplicativo host, como um comando que define a cor de fundo para um aplicativo host, em um perfil que seja específico para aquele aplicativo host.

Se você é um administrador que está customizando 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 a aplicação hostapplication
  • 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.

Como usar um perfil

Muitos dos itens que você cria no PowerShell e a maioria dos comandos que você executa, afetam apenas a sessão atual. Quando termina a sessão, os itens são eliminados.

Os comandos e itens específicos da sessão incluem variáveis, variáveis de preferências, alias, funções, comandos (excepto para aPolítica de Execução de Definições),e módulos PowerShell que adiciona à sessão.

Para guardar estes itens e torná-los disponíveis em todas as sessões futuras, adicione-os a um perfil PowerShell.

Outro uso comum para perfis é guardar funções, alias e variáveis utilizadas com frequência. Quando você salva os itens em um perfil, você pode usá-los em qualquer sessão aplicável sem recriá-los.

Como iniciar um perfil

Quando você abre o arquivo de perfil, ele fica em branco. No entanto, você pode preenchê-lo com as variáveis, apelidos e comandos que você usa frequentemente.

Aqui estão algumas sugestões para começar.

Adicionar comandos que facilitam a abertura do seu perfil

Isso é especialmente útil se você usar um perfil que não seja o perfil “Current User,Current Host”. Por exemplo, adicione o seguinte comando:

function Pro {notepad $PROFILE.CurrentUserAllHosts}

Adicionar uma função que lista os apelidos para qualquer cmdlet

function Get-CmdletAlias ($cmdletname) { Get-Alias | Where-Object -FilterScript {$_.Definition -like "$cmdletname"} | Format-Table -Property Definition, Name -AutoSize}

Personalizar o seu console

function Color-Console { $Host.ui.rawui.backgroundcolor = "white" $Host.ui.rawui.foregroundcolor = "black" $hosttime = (Get-ChildItem -Path $PSHOME\PowerShell.exe).CreationTime $hostversion="$($Host.Version.Major)`.$($Host.Version.Minor)" $Host.UI.RawUI.WindowTitle = "PowerShell $hostversion ($hosttime)" Clear-Host}Color-Console

Adicionar um prompt PowerShell personalizado

function Prompt{$env:COMPUTERNAME + "\" + (Get-Location) + "> "}

Para mais informações sobre o prompt PowerShell, veja sobre os projetos_.

O parâmetro NoProfile

Para iniciar o PowerShell sem perfis, use o parâmetro NoProfile do PowerShell.exe, o programa que inicia o PowerShell.

Para iniciar, abra um programa que possa iniciar o PowerShell, como o Cmd.exe ou o próprio PowerShell. Também pode usar a caixa de diálogo Executar no Windows.

Type:

PowerShell -NoProfile

Para uma lista completa dos parâmetros do PowerShell.exe, digite:

PowerShell -?

Perfis e Política de Execução

A política de execução do PowerShell determina, em parte, se pode executar scripts e carregar ficheiros de configuração, incluindo os perfis. A política de execução Restrictedex é o padrão. Ela impede que todos os scripts sejam executados, incluindo os perfis. Se você usar a política “Restricted”, o perfil não é executado, e seu conteúdo não é aplicado.

A Set-ExecutionPolicyconjuntos de comandos e altera a sua política de execução. É um dos poucos comandos que se aplicam em todas as sessões PowerShell porque o valor é salvo no registro. Você não precisa defini-lo quando abre o console, e não precisa armazenar um comando Set-ExecutionPolicy no seu perfil.

Perfis e sessões remotas

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

Para executar um perfil em uma sessão, use o Invoke-Commandcmdlet.

Por exemplo, o seguinte comando executa o perfil “Current user, Current Host “do computador local na sessão em $s.

Invoke-Command -Session $s -FilePath $PROFILE

O seguinte comando executa o perfil “Current user, Current Host” do computador local na sessão em $s. Como a variável $PROFILE não está povoada, o comando usa o caminho explícito para o perfil. Usamos o operador dotsourcing para que o perfil seja executado no escopo atual no computador theremote e não em seu próprio escopo.

Invoke-Command -Session $s -ScriptBlock { . "$HOME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

Após executar este comando, os comandos que o perfil adiciona à sessão estão disponíveis em $s.

>

Veja também

sobre_Variáveis_automáticas

>

sobre_Funções

>

sobre_Prompts

>

sobre_Execução_Políticas

>

sobre_Assinatura

>

sobre_Remote

>

sobre_Escopos

>

Set-ExecuçãoPolítica

Deixe uma resposta

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