Cambia las propiedades de una configuración de sesión registrada.

Sintaxis

Set-PSSessionConfiguration [-AssemblyName] <string> [-ConfigurationTypeName] <string> [-Name] <string> [-ApplicationBase <string>] [-Force] [-MaximumReceivedDataSizePerCommandMB <double>] [-MaximumReceivedObjectSizeMB <double>] [-NoServiceRestart] [-SecurityDescriptorSDDL <string>] [-ShowSecurityDescriptorUI] [-StartupScript <string>] [-ThreadApartmentState {<STA> | <MTA> | <Unknown>}] [-ThreadOptions {<Default> | <UseNewThread> | <ReuseThread> | <UseCurrentThread>}] [-Confirm] [-WhatIf] [<CommonParameters>]

Descripción

El cmdlet Set-PSSessionConfiguration cambia las propiedades de las configuraciones de sesión registradas en el equipo local. Es un cmdlet avanzado diseñado para que lo utilicen los administradores de sistemas a fin de administrar configuraciones de sesión personalizadas para sus usuarios.

El parámetro Name se utiliza para identificar la configuración que se desea cambiar. Los demás parámetros se utilizan para especificar los nuevos valores de las propiedades de la configuración de sesión. Para eliminar un valor de propiedad de la configuración (y utilizar el valor predeterminado), se debe especificar una cadena vacía ("") o el valor $null para el parámetro correspondiente.

Para ver las propiedades de una configuración de sesión, se utiliza el cmdlet Get-PSSessionConfiguration o el proveedor WS-Management. Para obtener más información acerca del proveedor WS-Management, escriba "Get-Help wsman".

Parámetros

-ApplicationBase <string>

Cambia la ruta de acceso al archivo de ensamblado (*.dll) especificado en el valor del parámetro AssemblyName.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-AssemblyName <string>

Especifica un archivo de ensamblado diferente para la configuración. Debe indicarse la ruta de acceso (opcional) y el nombre de archivo de un archivo de ensamblado (.dll) que define el tipo de configuración.

Si se escribe el nombre solamente, se puede especificar la ruta de acceso en el valor del parámetro ApplicationBase.

¿Requerido?

true

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ConfigurationTypeName <string>

Especifica un tipo de configuración diferente para la configuración. El tipo que se especifica debe implementar la clase System.Management.Automation.Remoting.PSSessionConfiguration.

Si se especifica "$null" o una cadena vacía, se utiliza la clase DefaultRemotePowerShellConfiguration para la configuración de sesión.

¿Requerido?

true

¿Posición?

3

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Force

Elimina todas las confirmaciones de usuario y reinicia el servicio WinRM sin pedir confirmación. Al reiniciar el equipo surte efecto el cambio de configuración.

Para evitar un reinicio y suprimir la confirmación de reinicio, utilice el parámetro NoServiceRestart.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-MaximumReceivedDataSizePerCommandMB <double>

Cambia el límite de la cantidad de datos que se pueden enviar a este equipo en un mismo comando remoto. Especifique el tamaño de los datos en megabytes (MB). El valor predeterminado es 50 MB.

Si el límite del tamaño de datos se ha definido en el tipo de configuración especificada en el parámetro ConfigurationTypeName, se utilizará ese límite y se pasará por alto el valor de este parámetro.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

50

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-MaximumReceivedObjectSizeMB <double>

Cambia el límite de la cantidad de datos que se pueden enviar a este equipo en un mismo objeto. Especifique el tamaño de los datos en megabytes (MB). El valor predeterminado es 10 MB.

Si el límite de tamaño de un objeto se ha definido en el tipo de configuración especificada en el parámetro ConfigurationTypeName, se utilizará ese límite y se pasará por alto el valor de este parámetro.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

10

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Name <string>

Especifica el nombre de la configuración de sesión que se desea cambiar.

No se puede utilizar este parámetro para cambiar el nombre de la configuración de sesión.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-NoServiceRestart

No reinicia el servicio WinRM y suprime la confirmación para reiniciar el servicio.

De forma predeterminada, cuando se escribe un comando Set-PSSessionConfiguration se pide al usuario que reinicie el servicio WinRM a fin de que surta efecto la nueva configuración de sesión. Esta nueva configuración de sesión no surtirá efecto hasta que se reinicie el servicio WinRM.

Para reiniciar el servicio WinRM sin pedir confirmación, utilice el parámetro Force. Para reiniciar el servicio WinRM manualmente, utilice el cmdlet Restart-Service.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-SecurityDescriptorSDDL <string>

Especifica una cadena de Lenguaje de definición de descriptores de seguridad (SDDL, Security Descriptor Definition Language) diferente para la configuración.

Esta cadena determina los permisos que se exigen para utilizar la nueva configuración de sesión. Para usar una configuración de sesión en una sesión, el usuario debe disponer como mínimo del permiso "Execute(Invoke)" respecto de esa configuración.

Para utilizar el descriptor de seguridad predeterminado para la configuración, se especifica una cadena vacía ("") o el valor $null. El valor predeterminado es la cadena SDDL raíz de la unidad WSMan:.

Si el descriptor de seguridad es complejo, puede ser más conveniente utilizar el parámetro ShowSecurityDescriptorUI en lugar de este. No se pueden usar los dos parámetros en el mismo comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ShowSecurityDescriptorUI

Muestra una hoja de propiedades que ayuda a crear una nueva cadena SDDL para la configuración de sesión. La hoja de propiedades aparece cuando se especifica el comando Set-PSSessionConfiguration y, a continuación, se reinicia el servicio WinRM.

Al establecer los permisos para la configuración, es preciso recordar que los usuarios deben disponer como mínimo del permiso "Execute(Invoke)" para utilizar la configuración de sesión en una sesión.

No se pueden utilizar el parámetro SecurityDescriptorSDDL y este en el mismo comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-StartupScript <string>

Agrega o cambia el script de inicio para la configuración. Debe especificarse la ruta completa a un script de Windows PowerShell. El script especificado se ejecuta en la nueva sesión que utiliza la configuración de sesión.

Para eliminar un script de inicio de una configuración de sesión, se especifica una cadena vacía ("") o el valor $null.

Se puede utilizar un script de inicio a más extenso para continuar configurando la sesión del usuario. Si el script genera un error (aunque no sea de terminación), la sesión no se crea y se produce un error en el comando New-PSSession.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ThreadApartmentState <ApartmentState>

Cambia la configuración de estado del apartamento para los subprocesos de la sesión. Los valores válidos son STA, MTA y Unknown. El valor predeterminado es Unknown.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

ApartmentState.Unknown

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ThreadOptions <PSThreadOptions>

Cambia el valor de la opción de subproceso de la configuración. Este valor define cómo se crean y utilizan los subprocesos al ejecutar un comando en la sesión. Los valores válidos son Default, ReuseThread, UseCurrentThread y UseNewThread. El valor predeterminado es UseCurrentThread.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

PSThreadOptions.UserCurrentThread

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Confirm

Solicita confirmación antes de ejecutar el comando.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-WhatIf

Describe lo que ocurriría si se ejecutara el comando, sin ejecutarlo realmente.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

Ninguno

No se pueden canalizar entradas a este cmdlet.

Salidas

Microsoft.WSMan.Management.WSManConfigLeafElement

Notas

Para ejecutar este cmdlet en Windows Vista, Windows Server 2008 y versiones posteriores de Windows, se debe abrir Windows PowerShell con la opción "Ejecutar como administrador".

El cmdlet Set-PSSessionConfiguration no cambia el nombre de la configuración y el proveedor WS-Managment no admite el cmdlet Rename-Item. Si se desea cambiar el nombre de una configuración, hay que utilizar el cmdlet Unregister-PSSessionConfiguration para eliminarla y, a continuación, el cmdlet Register-PSSessionConfiguration para crear y registrar una nueva configuración de sesión.

El cmdlet Set-PSSessionConfiguration se puede utilizar para cambiar las configuraciones de sesión predeterminadas Microsoft.PowerShell y Microsoft.PowerShell32. No están protegidas. Para revertir a la versión original de una configuración de sesión predeterminada, se utiliza el cmdlet Unregister-PSSessionConfiguration para eliminarla y, a continuación, el cmdlet Enable-PSRemoting para restaurarla.

Ejemplo 1

C:\PS>set-pssessionconfiguration -name MaintenanceShell -threadApartmentState STA

Descripción
-----------
Este comando cambia a STA el estado del apartamento de subproceso en la configuración MaintenanceShell. El cambio surte efecto al reiniciar el servicio WinRM.






Ejemplo 2

C:\PS>register-pssessionconfiguration -name AdminShell -assemblyName c:\shells\AdminShell.dll -configurationType AdminClass

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript AdminConfig.ps1

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript $null

Descripción
-----------
En este ejemplo se muestra cómo crear y cambiar, a continuación, una configuración de sesión.

El primer comando utiliza el cmdlet Register-PSSessionConfiguration para crear la configuración AdminShell. 

El segundo comando utiliza el cmdlet Set-PSSessionConfiguration para agregar el script AdminConfig.ps1 a la configuración. El cambio surte efecto al reiniciar WinRM.

El tercer comando quita el script AdminConfig.ps1 de la configuración. Utiliza el cmdlet Set-PSSessionConfiguration con el valor $null en el parámetro StartupScript.






Ejemplo 3

C:\PS>Set-PSSessionConfiguration -name foo -MaximumReceivedObjectSizeMB 20

   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\foo\InitializationParameters

ParamName                       ParamValue
---------                       ----------
psmaximumreceivedobjectsizemb   20

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

Descripción
-----------
En este ejemplo se muestra un ejemplo de resultados del cmdlet Set-PSSessionConfiguration. 

El comando Set-PSSessionConfiguration de este ejemplo aumenta el valor de la propiedad MaximumReceivedObjectSizeMB a 20. 

El comando Set-PSSessionConfiguration devuelve un objeto Microsoft.WSMan.Management.WSManConfigLeafElement que muestra el nombre del parámetro y su nuevo valor.

También solicita al usuario que reinicie el servicio WinRM. El cambio de Set-PSSessionConfiguration no surte efecto hasta que se reinicia el servicio WinRM.






Ejemplo 4

C:\PS>set-pssessionconfiguration -name MaintenanceShell -startupScript c:\ps-test\Maintenance.ps1


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\MaintenanceShell\InitializationParameters

ParamName            ParamValue
---------            ----------
startupscript        c:\ps-test\Mainte...

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y


C:\PS> get-pssessionConfiguration maintenanceshell | format-list -property *

xmlns            : https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
Name             : MaintenanceShell
Filename         : %windir%\system32\pwrshplugin.dll
SDKVersion       : 1
XmlRenderingType : text
lang             : en-US
PSVersion        : 2.0
startupscript    : c:\ps-test\Maintenance.ps1
ResourceUri      : https://schemas.microsoft.com/powershell/MaintenanceShell
SupportsOptions  : true
ExactMatch       : true
Capability       : {Shell}
Permission       :


C:\PS> dir wsman:\localhost\plugin\MaintenanceShell\InitializationParameters

ParamName     ParamValue
---------     ----------
PSVersion     2.0
startupscript c:\ps-test\Maintenance.ps1

Descripción
-----------
Este comando muestra maneras diferentes de ver los resultados de un comando Set-PSSessionConfiguration.

El primer comando utiliza el cmdlet Set-PSSessionConfiguration para cambiar a Maintenance.ps1 el script de inicio de la configuración MaintenanceShell. El resultado de este comando muestra el cambio y solicita al usuario que reinicie el servicio WinRM. La respuesta es "y" (sí).

El segundo comando utiliza el cmdlet Get-PSSessionConfiguration para obtener la configuración de sesión MaintenanceShell. El comando utiliza un operador de canalización (|) para enviar el resultado del comando al cmdlet Format-List, que muestra en una lista todas las propiedades del objeto de configuración de sesión.

El tercer comando utiliza el proveedor WS-Management para ver los parámetros de inicialización de la configuración MaintenanceShell. El comando utiliza el cmdlet Get-ChildItem (alias = dir) para obtener los elementos secundarios del nodo InitializationParameters para el complemento MaintenanceShell.

Para obtener más información acerca del proveedor WS-Management, escriba "get-help wsman".






Vea también




Tabla de contenido