Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Descrição Breve
Descreve 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 da sessão a todas as sessões da PowerShell que iniciar.
Um perfil PowerShell é um script que corre quando o PowerShell começa. Pode utilizar o perfil como um script de logon para personalizar o ambiente. Pode adicionar comandos, pseudónimos, funções, variáveis, snap-ins, módulos e unidades PowerShell. Também pode adicionar outros elementos específicos da sessão ao seu perfil para que estejam disponíveis em todas as sessões sem ter que importar ou recriá-los.
O PowerShell suporta vários perfis para utilizadores e programas de hospedas. No entanto, não cria os perfis para si. Este tópico descreve os perfis e descreve como criar e manter perfis no seu computador.
Explica como utilizar o parâmetro NoProfile da consola PowerShell (PowerShell.exe) para iniciar o PowerShell sem perfis. E explica o efeito da política de execução da PowerShell nos perfis.
Os Ficheiros de Perfil
O PowerShell suporta vários ficheiros de perfil. Além disso, os programas de anfitriões powerShell podem suportar os seus próprios perfis específicos do anfitrião.
Por exemplo, a consola PowerShell suporta os seguintes ficheiros de perfil básico. Os perfis estão listados por 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 Utilizadores, Atual Anfitrião | $PSHOME \ Microsoft.PowerShell_profile.ps1 |
| Utilizador atual, todos os anfitriões | $Home \ [Os meus ]documentos \ WindowsPowerShell \ Profile.ps1 |
| Utilizador atual, Anfitrião Atual | $Home \ [Os meus ]documentos \ WindowsPowerShell\ Microsoft.PowerShell_profile.ps1 |
Os percursos de perfil incluem as seguintes variáveis:
- A
$PSHOMEvariável, que armazena o diretório de instalação da PowerShell - A
$Homevariável, que armazena o diretório de casa do utilizador atual
Além disso, outros programas que acolhem o PowerShell podem suportar os seus próprios perfis. Por exemplo, o PowerShell Integrated Scripting Environment (ISE) suporta os seguintes perfis específicos do anfitrião.
| Descrição | Caminho |
|---|---|
| Todos os utilizadores, Anfitrião Atual | $PSHOME \ Microsoft.PowerShellISE_profile.ps1 |
| Utilizador atual, Anfitrião Atual | $Home \ [Os meus ]documentos \ WindowsPowerShell\ Microsoft.PowerShellISE_profile.ps1 |
Na Ajuda PowerShell, o perfil "CurrentUser, Current Host" é o perfil mais referido como "o seu perfil PowerShell".
A variável $PROFILE
A $PROFILE variável automática armazena os caminhos para os perfis PowerShell que estão disponíveis na sessão atual.
Para ver um percurso de perfil, mostrar o valor da $PROFILE variável. Também pode usar a $PROFILE variável num comando para representar um caminho.
A $PROFILE variável armazena o caminho para o perfil "Utilizador Atual, Anfitrião Atual". Os outros perfis são guardados em propriedades nota da $PROFILE variável.
Por exemplo, a $PROFILE variável tem os seguintes valores na consola Windows PowerShell.
| Descrição | Name |
|---|---|
| Utilizador atual, anfitrião atual | $PROFILE |
| Utilizador atual, anfitrião atual | $PROFILE.CurrentUserCurrentHost |
| Utilizador atual, todos os anfitriões | $PROFILE.CurrentUserAllHosts |
| Todos os Utilizadores, Atual Anfitrião | $PROFILE.AllUsersCurrentHost |
| Todos os utilizadores, todos os anfitriões | $PROFILE.AllUsersAllHosts |
Dado que os valores da $PROFILE alteração variável para cada utilizador e em cada aplicação anfitriã, certifique-se de que exibe os valores das variáveis de perfil em cada aplicação de hospedagem PowerShell que utiliza.
Para ver os valores atuais da $PROFILE variável, escreva:
$PROFILE | Get-Member -Type NoteProperty
Pode usar a $PROFILE variável em muitos comandos. Por exemplo, o seguinte comando abre o perfil "Utilizador Atual, Anfitrião Atual" no Bloco de Notas:
notepad $PROFILE
O seguinte comando determina se foi criado um perfil "Todos os Utilizadores, Todos os Anfitriões" no computador local:
Test-Path -Path $PROFILE.AllUsersAllHosts
Como criar um perfil
Para criar um perfil PowerShell, utilize 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 atual na aplicação de hospedagem PowerShell atual, utilize o seguinte comando:
if (!(Test-Path -Path $PROFILE)) {
New-Item -ItemType File -Path $PROFILE -Force
}
Neste comando, a declaração "Se" impede-o de sobrepor um perfil existente. Substitua o valor do espaço reservado do < perfil pelo caminho para o ficheiro de perfil que pretende > criar.
Nota
Para criar perfis "Todos os Utilizadores" no Windows Vista e versões posteriores do Windows, inicie o PowerShell com a opção 'Executar' como opção de administrador.
Como editar um perfil
Pode abrir qualquer perfil PowerShell num editor de texto, como o Notepad.
Para abrir o perfil do utilizador atual na aplicação atual do anfitrião PowerShell no Notepad, escreva:
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 de acolhimento, escreva:
notepad $PROFILE.AllUsersAllHosts
Para aplicar as alterações, guarde o ficheiro de perfil e, em seguida, reinicie a PowerShell.
Como escolher um perfil
Se utilizar várias aplicações de hospedagem, coloque os itens que utiliza em todas as aplicações de hospedagem no seu $PROFILE.CurrentUserAllHosts perfil. Coloque itens específicos para uma aplicação de anfitrião, como um comando que define a cor de fundo para uma aplicação hospedeira, num perfil específico dessa aplicação anfitriã.
Se é um administrador que está a personalizar o PowerShell para muitos utilizadores, siga estas orientações:
- Armazenar os itens comuns no
$PROFILE.AllUsersAllHostsperfil - Armazenar itens específicos para uma aplicação de hospedada em
$PROFILE.AllUsersCurrentHostperfis específicos da aplicação anfitriã - Armazenar itens para utilizadores específicos nos perfis específicos do utilizador
Certifique-se de verificar a documentação da aplicação do anfitrião para qualquer implementação especial dos perfis powerShell.
Como usar um perfil
Muitos dos itens que cria si no PowerShell e a maioria dos comandos que executa afetam apenas a sessão atual. Quando terminar a sessão, os itens são apagados.
Os comandos e itens específicos da sessão incluem variáveis, variáveis preferenciais, pseudónimos, funções, comandos (exceto os módulos Set-ExecutionPolicy)e os módulos PowerShell que adiciona à sessão.
Para guardar estes itens e disponibilizá-los em todas as sessões futuras, adicione-os a um perfil PowerShell.
Outra utilização comum para perfis é salvar funções, pseudónimos e variáveis frequentemente utilizados. Quando guardar os itens num perfil, pode usá-los em qualquer sessão aplicável sem recriá-los.
Como iniciar um perfil
Quando abres o ficheiro do perfil, fica em branco. No entanto, pode enchê-lo com as variáveis, pseudónimos e comandos que utiliza com frequência.
Aqui estão algumas sugestões para começar.
Adicione comandos que facilitam a abertura do seu perfil
Isto é especialmente útil se utilizar um perfil diferente do perfil "Utilizador Atual, Anfitrião Atual". Por exemplo, adicione o seguinte comando:
function Pro {notepad $PROFILE.CurrentUserAllHosts}
Adicione uma função que lista os pseudónimos para qualquer cmdlet
function Get-CmdletAlias ($cmdletname) {
Get-Alias |
Where-Object -FilterScript {$_.Definition -like "$cmdletname"} |
Format-Table -Property Definition, Name -AutoSize
}
Personalize a sua consola
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
Adicione um pedido powerShell personalizado
function Prompt
{
$env:COMPUTERNAME + "\" + (Get-Location) + "> "
}
Para mais informações sobre o pedido powerShell, consulte about_Prompts.
O parâmetro NoProfile
Para iniciar o PowerShell sem perfis, utilize o parâmetro NoProfile de PowerShell.exe, o programa que inicia o PowerShell.
Para começar, abra um programa que possa iniciar powerShell, como Cmd.exe ou powerShell em si. Também pode utilizar a caixa de diálogo Executar no Windows.
Escreva:
PowerShell -NoProfile
Para obter uma lista completa dos parâmetros de PowerShell.exe, escreva:
PowerShell -?
Perfis e Política de Execução
A política de execução powerShell determina, em parte, se pode executar scripts e ficheiros de configuração de carga, incluindo os perfis. A política de execução restrita é o padrão. Impede que todos os scripts sejam recorridos, incluindo os perfis. Se utilizar a política "Restrita", o perfil não funciona e o seu conteúdo não é aplicado.
Um comando define e altera a sua política de Set-ExecutionPolicy execução. É um dos poucos comandos que se aplica em todas as sessões da PowerShell porque o valor é guardado no registo. Não é preciso defini-la quando abre a consola e não tem de armazenar um Set-ExecutionPolicy comando no seu perfil.
Perfis e sessões remotas
Os perfis powerShell não são executados automaticamente em sessões remotas, pelo que os comandos que os perfis adicionam não estão presentes na sessão remota. Além disso, a $PROFILE variável automática não é povoada em sessões remotas.
Para executar um perfil numa sessão, use o cmdlet Invoke-Command.
Por exemplo, o seguinte comando executa o perfil "Utilizador atual, hospedeiro atual" do computador local na sessão em $s .
Invoke-Command -Session $s -FilePath $PROFILE
O comando seguinte executa o perfil "Utilizador atual, hospedeiro atual" a partir do computador remoto na sessão em $s . Como a $PROFILE variável não é povoada, o comando usa o caminho explícito para o perfil. Utilizamos o operador de fornecimento de pontos para que o perfil execute no âmbito atual do computador remoto e não no seu próprio âmbito.
Invoke-Command -Session $s -ScriptBlock {
. "$HOME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"
}
Depois de executar este comando, os comandos que o perfil adiciona à sessão estão disponíveis em $s .