TEMA
    about_Session_Configurations

DESCRIPCIÓN BREVE
    Describe las configuraciones de sesión, que determinan los 
    usuarios que pueden establecer conexión con el equipo de forma 
    remota y los comandos que pueden ejecutar.

DESCRIPCIÓN DETALLADA
    Una configuración de sesión es un grupo de valores en el equipo 
    local que definen el entorno de las sesiones de Windows PowerShell 
    que se crean cuando usuarios remotos se conectan al equipo local. 

    Los administradores del equipo pueden utilizar las configuraciones
     de sesión para proteger el equipo y definir entornos 
     personalizados para los usuarios que se conectan al equipo.

    Los administradores también pueden utilizar las configuraciones 
    de sesión a fin de determinar los permisos necesarios para 
    conectarse de forma remota al equipo. De manera predeterminada, 
    solo los miembros del grupo Administradores tienen permiso para 
    usar la configuración de sesión a fin de conectarse de forma 
    remota. Sin embargo, se puede cambiar la configuración 
    predeterminada de modo que todos los usuarios o determinados 
    usuarios puedan conectarse de forma remota al equipo.

    Las configuraciones de sesión son una característica de la 
    comunicación remota de Windows PowerShell basada en Web Services for 
    Management (WS-Management). 
    Se utilizan únicamente cuando se usa el cmdlet New-PSSession, 
    Invoke-Command o Enter-PSSession para establecer una conexión con 
    un equipo remoto.

    Nota: para administrar las configuraciones de sesión en un equipo 
    en el que se ejecuta Windows Vista, Windows Server 2008 o una 
    versión posterior de Windows, inicie Windows PowerShell con la 
    opción "Ejecutar como administrador".


 Acerca de las configuraciones de sesión  
    Cada sesión de Windows PowerShell utiliza una configuración de 
    sesión. Esto también se aplica a las sesiones persistentes que se 
    crean mediante el cmdlet New-PSSession o Enter-PSSession así como 
    a las sesiones temporales creadas por Windows PowerShell cuando 
    se usa el parámetro ComputerName de un cmdlet que utiliza la 
    tecnología de comunicación remota basada en WS-Management, como 
    Invoke-Command. 

    Los administradores pueden utilizar las configuraciones de sesión 
    para proteger los recursos del equipo y crear entornos 
    personalizados para los usuarios que se conectan al equipo. Por 
    ejemplo, pueden utilizar una configuración de sesión para limitar 
    el tamaño de los objetos que el equipo recibe en la sesión, 
    definir el modo de lenguaje de la sesión y especificar los 
    cmdlets, proveedores y funciones que están disponibles en la sesión. 

    Al configurar el descriptor de seguridad de una configuración de 
    sesión, se determina quién puede utilizar la configuración de 
    sesión para conectarse al equipo. Los usuarios deben disponer del 
    permiso de ejecución de una configuración de sesión a fin de 
    poder utilizarla en una sesión.
    Si un usuario no tiene los permisos necesarios para utilizar las 
    configuraciones de sesión en un equipo, no podrá conectarse de 
    forma remota al equipo.   
    
    De manera predeterminada, solo los administradores del equipo 
    tienen permiso para usar las configuraciones de sesión predeterminadas. 
    Sin embargo, se pueden cambiar los descriptores de seguridad de modo 
    que todos los usuarios, ningún usuario o determinados usuarios puedan 
    usar las configuraciones de sesión en el equipo.


 
 Configuraciones de sesión predeterminadas.
    Windows PowerShell incluye una configuración de sesión integrada, 
    denominada Microsoft.PowerShell. En los equipos en los que se 
    ejecutan versiones de 64 bits de Windows, Windows PowerShell 
    también proporciona Microsoft.PowerShell32, una configuración de 
    sesión de 32 bits.

    Estas configuraciones de sesión se utilizan de forma 
    predeterminada para las sesiones, es decir, cuando un comando 
    para crear una sesión no incluye el parámetro ConfigurationName 
    del cmdlet New-PSSession, Enter-PSSession o Invoke-Command.

    Los descriptores de seguridad de las configuraciones de sesión 
    predeterminadas solo permiten a los miembros del grupo Administradores 
    en el equipo local utilizar dichas configuraciones. Como tal, solo los 
    miembros del grupo Administradores pueden conectarse de forma remota al 
    equipo, a menos que se modifique la configuración predeterminada.

    Las configuraciones de sesión predeterminadas se pueden modificar 
    mediante la variable de preferencia $PSSessionConfigurationName. 
    Para obtener más información, vea about_Preference_Variables.



 Ver las configuraciones de sesión en el equipo local Para obtener 
 las configuraciones de sesión en el equipo local, utilice el cmdlet Get-
 PSSessionConfiguration. 

    Por ejemplo, escriba:

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

        Name       : microsoft.powershell
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell32
        Permission : BUILTIN\Administrators AccessAllowed


    También puede usar el proveedor de WS-Management en Windows 
    PowerShell para ver las configuraciones de sesión. Este proveedor 
    crea una unidad WSMAN: en la sesión.

    En la unidad WSMAN:, las configuraciones de sesión están en el 
    nodo Plugin. (Todas las configuraciones de sesión están en el 
    nodo Plugin, pero algunos elementos de este nodo no son 
    configuraciones de sesión.)

    Por ejemplo, para ver las configuraciones de sesión en el equipo 
    local, escriba:

         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}


 Ver las configuraciones de sesión en un equipo remoto Para ver las 
    configuraciones de sesión en un equipo remoto, utilice el cmdlet 
    Connect-WSMan a fin de agregar un nodo para el equipo remoto a la 
    unidad WSMAN: en el equipo local y, a continuación, use la unidad 
    WSMAN: para ver las configuraciones de sesión.

    Por ejemplo, el comando siguiente agrega un nodo para el equipo 
    remoto Servidor01 a la unidad WSMAN: en el equipo local.

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

    Cuando se completa el comando, se puede navegar hasta el nodo del 
    equipo Servidor01 para ver las configuraciones de sesión.
        
    Por ejemplo:

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

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

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


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

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




 Cambiar el descriptor de seguridad de una configuración de sesión De 
    forma predeterminada, los miembros del grupo Administradores en el 
    equipo disponen de permisos de ejecución para las configuraciones de 
    sesión predeterminadas. Sin embargo, se pueden modificar los 
    descriptores de seguridad de las configuraciones de sesión 
    predeterminadas y de cualquier configuración de sesión que se cree.

    Para que otros usuarios tengan permiso para conectarse de forma 
    remota al equipo, use el cmdlet Set-PSSessionConfiguration a fin 
    de agregar para esos usuarios permisos de ejecución a los 
    descriptores de seguridad de las configuraciones de sesión 
    Microsoft.PowerShell y Microsoft.PowerShell32.

    Por ejemplo, el comando siguiente abre una página de propiedades 
    que permite cambiar el descriptor de seguridad de la 
    configuración de sesión predeterminada Microsoft.PowerShell.

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

    Si desea denegar a todos los usuarios el permiso para todas las 
    configuraciones de sesión en el equipo, utilice la función 
    Disable-PSRemoting o el cmdlet Disable-PSSessionConfiguration. 
    Por ejemplo, el comando siguiente agrega la entrada "Denegar 
    todo" a todas las configuraciones de sesión en el equipo.

        C:\PS> disable-psremoting


    Para agregar la entrada "Denegar todo" a una configuración de 
    sesión concreta, utilice el cmdlet Disable-PSSessionConfiguration.
    Por ejemplo, los comandos siguientes agregan la entrada "Denegar 
    todo" a la configuración de sesión Microsoft.PowerShell.

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

    Para quitar la entrada "Denegar todo" de todas las configuraciones
    de sesión, utilice el cmdlet Enable-PSRemoting o Enable-PSSession
    Configuration. Por ejemplo, el comando siguiente quita la entrada 
    "Denegar todo" de las configuraciones de sesión predeterminadas.

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


    Para realizar otros cambios en el descriptor de seguridad de una 
    configuración de sesión, utilice el cmdlet Set-PSSessionConfigurat
    ion. Use el parámetro SecurityDescriptorSDDL para enviar un valor 
    de cadena de SDDL. Utilice el parámetro ShowSecurityDescriptorUI 
    para que se muestre una hoja de propiedades de la interfaz de 
    usuario que le ayuda a crear un nuevo SDDL.

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

     

 Crear una nueva configuración de sesión
    Para crear una nueva configuración de sesión en el equipo local, 
    utilice el cmdlet Register-PSSessionConfiguration. Para definir 
    la nueva configuración de sesión, puede usar un ensamblado de C#, 
    un script de Windows PowerShell y los parámetros del cmdlet Register-
    PSSessionConfiguration.

    Por ejemplo, el comando siguiente crea una configuración de 
    sesión que es idéntica a la configuración de sesión 
    Microsoft.PowerShell, salvo en que limita a 20 MB los datos 
    recibidos de un comando remoto. (El valor predeterminado es 50 MB.)

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

    Cuando se crea una configuración de sesión, se puede 
    administrarla usando los otros cmdlets de configuración de sesión 
    y la configuración de sesión creada aparece en la unidad WSMAN:.

    Para obtener más información, vea Register-PSSessionConfiguration.


     
 Quitar una configuración de sesión
    Para quitar una configuración de sesión del equipo local, utilice 
    el cmdlet Unregister-PSSessionConfiguration. Por ejemplo, el comando 
    siguiente quita la configuración de sesión NewConfig del equipo.

        c:\PS> unregister-psSessionConfiguration -name NewConfig

    Para obtener más información, vea Unregister-PSSessionConfiguration.



 Seleccionar una configuración de sesión
    Para seleccionar una configuración de sesión concreta para una 
    sesión, utilice el parámetro ConfigurationName de New-PSSession, 
    Enter-PSSession o Invoke-Command. 

    Por ejemplo, este comando utiliza el cmdlet New-PSSession para 
    iniciar una PSSession en el equipo Servidor01. El comando utiliza 
    el parámetro ConfigurationName para seleccionar la configuración 
    WithProfile en el equipo Servidor01.

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

    Este comando solo se ejecutará correctamente si el usuario actual 
    tiene permiso para usar la configuración de sesión WithProfile o 
    puede proporcionar las credenciales de un usuario con los 
    permisos necesarios.

    Asimismo, puede usar la variable de preferencia $PSSessionConfigur
    ationName para cambiar la configuración de sesión predeterminada 
    en el equipo. Para obtener más información sobre la variable de 
    preferencia $PSSessionConfigurationName, vea about_Preference_Variables.



VEA TAMBIÉN
    about_Preference_Variables
    about_PSSession
    about_Remote
    New-PSSession
    Disable-PSSessionConfiguration
    Enable-PSSessionConfiguration
    Get-PSSessionConfiguration
    Register-PSSessionConfiguration
    Set-PSSessionConfiguration
    Unregister-PSSessionConfiguration




Tabla de contenido