TÓPICO
    about_Session_Configurations

DESCRIÇÃO RESUMIDA
    Descreve as configurações de sessão, que determinam os usuários que podem se 
    conectar remotamente ao computador e os comandos que eles podem executar.

DESCRIÇÃO LONGA
    Uma configuração de sessão é um grupo de configurações no 
    computador local que define o ambiente para as sessões do Windows 
    PowerShell criadas quando usuários remotos se conectam ao 
    computador local. 

    Os administradores podem usar as configurações de sessão para 
    proteger o computador e definir ambientes personalizados para os 
    usuários que se conectam a ele.

    Os administradores também podem usar as configurações de sessão 
    para determinar as permissões exigidas para se conectar 
    remotamente ao computador. Por padrão, somente membros do grupo 
    Administradores têm permissão para usar a configuração de sessão 
    para se conectar remotamente, mas você pode alterar as 
    configurações padrão para permitir que todos os usuários, ou 
    então usuários selecionados, se conectem remotamente ao seu 
    computador.

    As configurações de sessão constituem um recurso de comunicação 
    remota do Windows PowerShell baseado no WS-Management (Web Services 
    for Management). Elas são utilizadas somente quando você 
    usa os cmdlets New-PSSession, Invoke-Command ou Enter-PSSession
    para se conectar a um computador remoto.

    Observação: para gerenciar as configurações de sessão em um 
                computador executando o Windows Vista, o Windows Server 2008 ou 
                uma versão posterior do Windows, inicie o Windows PowerShell com 
                a opção "Executar como administrador".


 Sobre as configurações de sessão  
    Toda sessão do Windows PowerShell usa uma configuração de sessão. 
    Isso inclui as sessões persistentes que você cria usando os 
    cmdlets New-PSSession ou Enter-PSSession e as sessões temporárias 
    que o Windows PowerShell cria quando você usa o parâmetro 
    ComputerName de um cmdlet que usa a tecnologia de comunicação 
    remota baseada em WS-Management, como Invoke-Command. 

    Os administradores podem usar as configurações de sessão para 
    proteger os recursos do computador e criar ambientes 
    personalizados para os usuários que se conectam a ele. Por 
    exemplo, você pode usar uma configuração de sessão para limitar o 
    tamanho de objetos recebidos pelo computador durante a sessão, 
    definir o modo de linguagem da sessão e especificar os cmdlets, 
    os provedores e as funções disponíveis. 

    Ao configurar o descritor de segurança de uma configuração de 
    sessão, você determina quem pode usar a configuração de sessão 
    para se conectar ao computador. Os usuários precisam ter a 
    permissão Execute de uma configuração de sessão para usá-la em 
    uma sessão.
    Se um usuário não tiver as permissões necessárias para usar 
    qualquer uma das configurações de sessão em um computador, não 
    poderá se conectar remotamente a ele.   
    Por padrão, só os Administradores do computador têm permissão 
    para usar as configurações de sessão padrão. Mas você pode 
    alterar os descritores de segurança para permitir que todos, 
    ninguém ou apenas os usuários selecionados usem as configurações de 
    sessão no seu computador.


 
 Configurações de sessão padrão
    O Windows PowerShell inclui uma configuração de sessão interna 
    denominada Microsoft.PowerShell. Em computadores que executam 
    versões de 64 bits do Windows, o Windows PowerShell fornece também 
    Microsoft.PowerShell32, uma configuração de sessão de 32 bits.

    Essas configurações de sessão são usadas nas sessões por padrão, 
    ou seja, quando um comando para criar uma sessão não inclui o 
    parâmetro ConfigurationName dos cmdlets New-PSSession, 
    Enter-PSSession ou Invoke-Command.

    Os descritores de segurança para as configurações de sessão 
    padrão só permitem que os membros do grupo Administradores do 
    computador local os utilizem. Assim, somente os membros do grupo 
    Administradores podem se conectar remotamente ao computador, a 
    menos que você altere as configurações padrão.

    Você pode alterar as configurações de sessão padrão usando a 
    variável preferencial $PSSessionConfigurationName. Para obter 
    mais informações, consulte about_Preference_Variables.



Exibindo configurações de sessão do computador local
    Para obter as configurações de sessão do seu computador local, use o 
    cmdlet Get-PSSessionConfiguration. 

    Por exemplo, digite:

        C:\PS> get-pssessionconfiguration | format-list -property 
        name, permission

        Name       : microsoft.powershell
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell32
        Permission : BUILTIN\Administrators AccessAllowed


    Você também pode usar o provedor de WS-Management no Windows 
    PowerShell para exibir as configurações de sessão. O provedor de 
    WS-Management cria uma unidade WSMAN: na sua sessão.

    Na unidade WSMAN:, as configurações de sessão estão no nó Plugin 
    (todas as configurações de sessão estão no nó Plugin, mas há 
    itens no nó Plugin que não são configurações de sessão).

    Por exemplo, para exibir as configurações de sessão do computador 
    local, digite:

         C:\PS> dir wsman:\localhost\plugin\microsoft*
      
                WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

         Name                      Type                 Keys
         ----                      ----                 ----
         microsoft.powershell      Container            
{Name=microsoft.powershell}
         microsoft.powershell32    Container            {Name=microsoft.powershell}


Exibindo configurações de sessão de um computador remoto
    Para exibir as configurações de sessão de um computador remoto, use o 
    cmdlet Connect-WSMan para acrescentar uma nota para o computador 
    remoto à unidade WSMAN: no seu computador local, e depois use a 
    unidade WSMAN: para exibir as configurações de sessão.

    Por exemplo, o comando a seguir acrescenta um nó para o 
    computador remoto Server01 à unidade WSMAN: no computador local.

        C:\PS> connect-wsman server01.corp.fabrikam.com

    Quando o comando for concluído, você poderá navegar até o nó para 
    o computador Server01 para exibir as configurações de sessão.
        
    Por exemplo:

        C:\PS> cd wsman:
        
        PS WSMan:\> dir 

        ComputerName                                  Type
        ------------                                  ----
        localhost                                     Container
        server01.corp.fabrikam.com                    Container

        PS WSMan:\> dir server01*\plugin\*


               WSManConfig: 
               Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Plugin

        Name                      Type                 Keys
        ----                      ----                 ----
        microsoft.powershell      Container            {Name=microsoft.powershell}
        microsoft.powershell32    Container            {Name=microsoft.powershell32}


Alterando o descritor de segurança de uma configuração de sessão
    Por padrão, os membros do grupo Administradores do computador têm a 
    permissão Execute para as configurações de sessão padrão, mas você 
    pode alterar os descritores de segurança nas configurações de sessão 
    padrão, e também em qualquer configuração de sessão que você criar.

    Para dar a outros usuários permissão para se conectar remotamente 
    ao computador, use o cmdlet Set-PSSessionConfiguration para 
    adicionar permissões "Execute" para esses usuários aos 
    descritores de segurança das configurações de sessão 
    Microsoft.PowerShell e Microsoft.Powershell32.

    Por exemplo, o comando a seguir abre uma página de propriedades 
    que permite alterar o descritor de segurança para a configuração 
    de sessão padrão Microsoft.PowerShell.

        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

    Para negar a todos permissão para todas as configurações de 
    sessão no computador, use a função Disable-PSRemoting ou o cmdlet 
    Disable-PSSessionConfiguration. Por exemplo, o comando a seguir 
    adiciona uma entrada "Negar Todos" a todas as configurações de 
    sessão do computador.

        C:\PS> disable-psremoting


    Para adicionar uma entrada "Negar Todos" a uma configuração de 
    sessão específica, use o cmdlet Disable-PSSessionConfiguration. 
    Por exemplo, os comandos a seguir adicionam uma entrada "Negar 
    Todos" à configuração de sessão Microsoft.PowerShell.

        C:\PS> disable-pssessionConfiguration -name Microsoft.PowerShell
    

    Para remover a entrada "Negar Todos" de todas as configurações de 
    sessão, use o cmdlet Enable-PSRemoting ou Enable-PSSessionConfigur
    ation. Por exemplo, o comando a seguir remove a entrada "Negar 
    Todos" das configurações de sessão padrão.

        C:\PS> enable-pssessionConfiguration -name Microsoft.Power*


    Para fazer outras alterações no descritor de segurança de uma 
    configuração de sessão, use o cmdlet Set-PSSessionConfiguration. 
    Use o parâmetro SecurityDescriptorSDDL para enviar um valor de 
    cadeia de caracteres SDDL. Use o parâmetro ShowSecurityDescriptorU
    I para exibir uma folha de propriedades da interface do usuário, 
    que o ajudará a criar uma nova SDDL.

    Por exemplo:
      
        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

     

 Criando uma nova configuração de sessão
    Para criar uma nova configuração de sessão no computador local, 
    use o cmdlet Register-PSSessionConfiguration. Para definir a nova 
    configuração de sessão, você pode usar um assembly C#, um script 
    do Windows PowerShell e os parâmetros do cmdlet Register-PSSession
    Configuration.

    Por exemplo, o comando a seguir cria uma configuração de sessão 
    idêntica à configuração de sessão Microsoft.PowerShell, exceto 
    por limitar os dados recebidos de um comando remoto a 20 MB (megabytes).
    (O padrão é 50 MB.)

        c:\PS> register-psSessionConfiguration -name NewConfig --MaximumReceivedDataSizePerCommandMB 20

    Quando você cria uma configuração de sessão, pode gerenciá-la 
    usando os outros cmdlets de configuração de sessão, e ela aparece 
    na unidade WSMAN:.

    Para obter mais informações, consulte Register-PSSessionConfiguration.


     
 Removendo uma configuração de sessão
    Para remover uma configuração de sessão do computador local, use 
    o cmdlet Unregister-PSSessionConfiguration. Por exemplo, o 
    comando a seguir remove a configuração de sessão NewConfig do 
    computador.

        c:\PS> unregister-psSessionConfiguration -name NewConfig

    Para obter mais informações, consulte Unregister-PSSessionConfiguration.



 Selecionando uma configuração de sessão
    Para selecionar uma configuração de sessão específica para uma 
    sessão, use o parâmetro ConfigurationName de New-PSSession, 
    Enter-PSSession ou Invoke-Command. 

    Por exemplo, o comando a seguir usa o cmdlet New-PSSession para 
    iniciar uma PSSession no computador Server01. O comando usa o 
    parâmetro ConfigurationName para selecionar a configuração 
    WithProfile no computador Server01.

        C:\PS> new-pssession -computername Server01 -configurationName WithProfile

    Esse comando só funcionará se o usuário atual tiver permissão 
    para usar a configuração de sessão WithProfile, ou então fornecer 
    as credenciais de um usuário com as permissões necessárias.

    Você também pode usar a variável preferencial $PSSessionConfigurat
    ionName para alterar a configuração de sessão padrão do 
    computador. Para obter mais informações sobre a variável preferencial 
    $PSSessionConfigurationName, consulte about_Preference_Variables.



CONSULTE TAMBÉM
    about_Preference_Variables
    about_PSSession
    about_Remote
    New-PSSession
    Disable-PSSessionConfiguration
    Enable-PSSessionConfiguration
    Get-PSSessionConfiguration
    Register-PSSessionConfiguration
    Set-PSSessionConfiguration
    Unregister-PSSessionConfiguration




Sumário