Compartilhar via


about_Profiles

TÓPICO
    about_Profiles

DESCRIÇÃO RESUMIDA
    Descreve como criar e usar um perfil do Windows PowerShell.

DESCRIÇÃO LONGA
    Você pode criar um perfil do Windows PowerShell para personalizar 
    seu ambiente e adicionar elementos específicos de sessão a todas 
    as sessões do Windows PowerShell que você inicia. 

    Um perfil do Windows PowerShell é um script que é executado 
    durante a inicialização do Windows PowerShell. Você pode usar o 
    perfil como um script de logon para personalizar o ambiente. Você 
    pode adicionar comandos, aliases, funções, variáveis, snap-ins, 
    módulos e unidades do Windows PowerShell. Também é possível 
    adicionar outros elementos específicos de sessão ao seu perfil, 
    para que eles estejam disponíveis em todas as sessões sem que 
    seja preciso importá-los ou recriá-los.

    O Windows PowerShell oferece suporte a vários perfis para 
    usuários e programas host.
    Porém, ele não cria os perfis para você. Este tópico descreve os 
    perfis e explica como criá-los e mantê-los em seu computador.

    Explica também como usar o parâmetro NoProfile do console do 
    Windows PowerShell (PowerShell.exe) para iniciar o Windows 
    PowerShell sem qualquer perfil.
    Além disso, descreve o efeito da diretiva de execução do Windows 
    PowerShell nos perfis.


 OS ARQUIVOS DE PERFIL

    O Windows PowerShell oferece suporte a vários arquivos de perfil. 
    Além disso, os programas host do Windows PowerShell possuem 
    suporte para os próprios perfis específicos ao host. 

    Por exemplo, o console do Windows PowerShell oferece suporte aos 
    arquivos de perfil básicos listados a seguir. Os perfis estão em 
    ordem de precedência. O primeiro perfil tem a precedência mais alta. 


        Descrição                          Caminho
        -----------                        ----
        Usuário atual, Host atual          $Home\[My ]Documents\WindowsPowerShell\Profile.ps1
        Usuário atual, Todos os hosts      $Home\[My ]Documents\Profile.ps1
        Todos os usuários, Host atual      $PsHome\Microsoft.PowerShell_profile.ps1
        Todos os usuários, Todos os hosts  $PsHome\Profile.ps1

    Os caminhos de perfil incluem as seguintes variáveis:

        - A variável $PsHome, que armazena o diretório de instalação 
          do Windows PowerShell.

        - A variável $Home, que armazena o diretório base do usuário 
          atual.


    Além disso, outros programas que hospedam o Windows PowerShell 
    podem suportar seus próprios perfis. Por exemplo, o ISE (Ambiente de Script Integrado) do Windows PowerShell dá suporte os 
    perfis específicos de host a seguir.


        Descrição                      Caminho
        -----------                    -----
        Usuário atual, Host atual      $Home\[My ]Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1
        Todos os usuários, Host atual  $PsHome\Microsoft.PowerShellISE_profile.ps1


    Na Ajuda do Windows PowerShell, o perfil "Usuário atual, Host 
    atual" é o perfil geralmente chamado de "seu perfil do Windows 
    PowerShell". 

 A VARIÁVEL $PROFILE

    A variável automática $Profile armazena os caminhos para os 
    perfis do Windows PowerShell que estão disponíveis na sessão atual. 

    Para exibir um caminho de perfil, exiba o valor da variável 
    $Profile. Você também pode usar a variável $Profile em um comando 
    para representar um caminho.

    A variável $Profile armazena o caminho para o perfil "Usuário 
    atual", Host atual". Os outros perfis são salvos nas propriedades 
    de observação da variável $profile.
    
    Por exemplo, a variável $Profile tem os valores a seguir no 
    console do Windows PowerShell.


        Nome                               Descrição                
        -----------                        -----------
        $Profile                           Usuário atual, Host atual  
        $Profile.CurrentUserCurrentHost    Usuário atual, Host atual  
        $Profile.CurrentUserAllHosts       Usuário atual, Todos os hosts     
        $Profile.AllUsersCurrentHost       Todos os usuários, Host atual    
        $Profile.AllUsersAllHosts          Todos os usuários, Todos os hosts       

    Pelo fato de os valores da variável $Profile serem diferentes 
    para cada usuário e em cada aplicativo host, certifique-se de 
    exibir os valores das variáveis de perfil em cada aplicativo host 
    do Windows PowerShell que você usar.

    Para ver os valores atuais da variável $Profile, digite:

        $profile | get-member -type noteproperty

    
    Você pode usar a variável $Profile em muitos comandos. Por 
    exemplo, o seguinte comando abre o perfil "Usuário atual", Host 
    atual" no Bloco de Notas:

    notepad $profile 


    O seguinte comando determina se um perfil "Todos os usuários, 
    Todos os hosts" foi criado no computador local:

    test-path $profile.AllUsersAllHosts


 COMO CRIAR UM PERFIL

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

        if (!(test-path <nome_do_perfil>)) 
           {new-item -type file -path <nome_do_perfil> -force}


    Por exemplo, para criar um perfil para o usuário atual no 
    aplicativo host atual do Windows PowerShell, use o seguinte comando: 

        if (!(test-path $profile)) 
           {new-item -type file -path $profile -force}


    Nesse comando, a instrução If impede a substituição de um espaço 
    reservado existente pelo caminho. Substitua o valor do espaço 
    reservado <profile-path> pelo caminho para o arquivo de perfil 
    que você deseja criar.

    Observação: para criar perfis "All Users" no Windows Vista e nas 
                versões posteriores do Windows, inicie o Windows  
                PowerShell com a opção "Executar como administrador".


 COMO EDITAR UM PERFIL

    Você pode abrir qualquer perfil do Windows PowerShell em um 
    editor de texto, como o Bloco de Notas. 

    Para abrir o perfil do usuário atual no aplicativo host atual do 
    Windows PowerShell no Bloco de Notas, digite:

        notepad $profile


    Para abrir outros perfis, especifique o nome do perfil. Por 
    exemplo, para abrir o perfil de todos os usuários de todos os 
    aplicativos host, digite:

        notepad $profile.AllUsersAllHosts


    Para aplicar as alterações, salve o arquivo de perfil e reinicie 
    o Windows PowerShell.  
 

 COMO ESCOLHER UM PERFIL

    Se você usar vários aplicativos host, coloque os itens que usa em 
    todos os aplicativos host no seu perfil $Profile.CurrentUserAllHosts.
    Coloque os itens que são específicos a um aplicativo host, como 
    um comando que define a cor do plano de fundo do aplicativo, em 
    um perfil que seja específico àquele aplicativo host.

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

        -- Armazene os itens comuns no perfil $profile.AllUsersAllHosts.

        -- Armazene itens que sejam específicos a um aplicativo host 
           nos perfis $profile.AllUsersCurrentHost específicos ao 
           aplicativo host.

        -- Armazene itens para determinados usuários nos perfis 
           específicos ao usuário.

    Verifique a documentação do aplicativo host para qualquer 
    implementação especial dos perfis do Windows PowerShell.


 COMO USAR UM PERFIL

    Muitos dos itens que você cria no Windows PowerShell e a maioria 
    dos comandos que você executa só afetam a sessão atual. Quando 
    você terminar a sessão, os itens serão excluídos.

    Os comandos e itens específicos de sessão incluem variáveis, 
    variáveis de preferência, aliases, funções, comandos (exceto 
    Set-ExecutionPolicy) e snap-ins do Windows PowerShell que você 
    adiciona à sessão.

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

    Outro uso comum dos perfis é para salvar funções, aliases e 
    variáveis usados com frequência. Quando você salva os itens em um 
    perfil, pode usá-los em qualquer sessão aplicável sem que seja 
    necessário recriá-los. 


 COMO INICIAR UM PERFIL

    Quando você abrir o arquivo de perfil, ele estará em branco. 
    Porém, você pode preenchê-lo com as variáveis, os aliases e os 
    comandos usados com frequência.

    Aqui estão algumas sugestões iniciais.

    -- Adicione comandos que facilitem a abertura do seu perfil. Essa 
       recomendação é particularmente útil quando você usa um perfil 
       diferente de "Usuário atual, Host atual". Por exemplo, 
       adicione o seguinte comando:
               
           function pro {notepad $profile.CurrentUserAllHosts}


    -- Adicione uma função que abra a Ajuda do Windows PowerShell em 
       um arquivo de Ajuda HTML compilado (.chm). 

           função Get-CHM
            {
               (invoke-item $env:windir\help\mui\0409\WindowsPowerShellHelp.chm) 
            }

       
       Essa função abre a versão em inglês do arquivo .chm. No 
       entanto, você pode substituir o código de idioma (0409) para 
       abrir outras versões do arquivo .chm.

    
    -- Adicione uma função que liste os aliases para qualquer cmdlet.

           função Get-CmdletAlias ($cmdletname) 
            {
              get-alias | Where {$_.definition -like "*$cmdletname*"} 
              | ft Definition, Name -auto 
            }


    -- Adicione um comando Add-PsSnapin para adicionar qualquer 
       snap-in do Windows PowerShell que você usa.

    -- Personalize seu console.

           função Color-Console 
           {
            $host.ui.rawui.backgroundcolor = "white" $host.ui.rawui.foreg
            roundcolor = "black" $hosttime = (dir $pshome\powershell.exe)
            .creationtime $Host.UI.RawUI.WindowTitle = "Windows 
            PowerShell $hostversion ($hosttime)" clear-host
           }
           Color-console


    -- Adicione um prompt do Windows PowerShell personalizado que 
       inclua o nome do computador e o caminho atual. 

           function prompt 
           {
              $env:computername + "\" + (get-location) + "> " 
           }


       Para obter mais informações sobre o prompt do Windows 
       PowerShell, consulte about_Prompts.


 O PARÂMETRO NOPROFILE

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

    Para começar, abra um programa que pode iniciar o Windows 
    PowerShell, como o Cmd.exe ou o próprio Windows PowerShell.  
    Você também pode usar a caixa de diálogo Executar do Windows. 

    Digite:

    powershell -noprofile

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

    powershell -?


 PERFIS E DIRETIVA DE EXECUÇÃO

    A diretiva de execução do Windows PowerShell determina, em parte, 
    se você pode executar scripts e carregar arquivos de 
    configuração, incluindo os perfis. A diretiva de execução 
    Restricted é o padrão. Ela impede a execução de todos os scripts, 
    inclusive os perfis. Se você usar a diretiva Restricted, o perfil 
    não será executado e seus conteúdos não serão aplicados.

    Um comando Set-ExecutionPolicy define e altera sua diretiva de 
    execução. É um dos poucos comandos que se aplica a todas as 
    sessões do Windows PowerShell porque o valor é salvo no Registro. 
    Você não precisa defini-lo quando abre o console e nem precisa 
    armazenar um comando Set-ExecutionPolicy em seu perfil.


 PERFIS E SESSÕES REMOTAS   

    Os perfis do Windows PowerShell não são executados automaticamente
     em sessões remotas, assim 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 é populada em 
    sessões remotas.  

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

    Por exemplo, o comando a seguir executa o perfil CurrentUserCurren
    tHost do computador local na sessão em $s. 

        invoke-command -session $s -filepath $profile

    O comando a seguir executa o perfil CurrentUserCurrentHost do 
    computador remoto na sessão em $s. Devido ao fato de a variável 
    $profile não ser populada, o comando usa o caminho explícito para 
    o perfil.

        invoke-command -session $s {invoke-expression 
        "$home\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"}

    Depois de executar esse comando, os comandos que o perfil 
    adiciona à sessão estão disponíveis em $s.


CONSULTE TAMBÉM
    about_Automatic_Variables
    about_Functions
    about_Prompts
    about_Execution_Policies
    about_Signing
    about_Remote
    Set-ExecutionPolicy