Disable-PSSessionConfiguration

Deshabilita las configuraciones de sesión en el equipo local.

Syntax

Disable-PSSessionConfiguration
       [[-Name] <String[]>]
       [-Force]
       [-NoServiceRestart]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

El Disable-PSSessionConfiguration cmdlet deshabilita las configuraciones de sesión en el equipo local, lo que impide que todos los usuarios usen las configuraciones de sesión para crear sesiones administradas por el usuario (PSSessions) en el equipo local. Se trata de un cmdlet avanzado diseñado para que lo usen los administradores del sistema para administrar las configuraciones de sesión personalizadas para sus usuarios.

A partir de PowerShell 3.0, el Disable-PSSessionConfiguration cmdlet establece el valor Habilitado de la configuración de sesión (WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled) en False.

En PowerShell 2.0, el Disable-PSSessionConfiguration cmdlet agrega una entrada de Deny_All al descriptor de seguridad de una o varias configuraciones de sesión registradas.

Sin parámetros, Disable-PSSessionConfiguration deshabilita la configuración de Microsoft.PowerShell , la configuración predeterminada que se usa para las sesiones. A menos que el usuario especifique una configuración diferente, este cmdlet impide eficazmente que los usuarios tanto locales como remotos puedan crear sesiones que se conecten al equipo.

Para deshabilitar todas las configuraciones de sesión en el equipo, use Disable-PSRemoting.

Ejemplos

Ejemplo 1: Deshabilitar la configuración predeterminada

En este ejemplo se deshabilita la configuración de sesión de Microsoft.PowerShell .

Disable-PSSessionConfiguration

Ejemplo 2: Deshabilitar todas las configuraciones de sesión registradas

En este ejemplo se deshabilitan todas las configuraciones de sesión registradas en el equipo.

Disable-PSSessionConfiguration -Name *

Ejemplo 3: Deshabilitar las configuraciones de sesión por nombre

En este ejemplo se deshabilitan todas las configuraciones de sesión que tienen nombres que comienzan por Microsoft. El parámetro Force suprime todas las solicitudes de usuario del cmdlet.

Disable-PSSessionConfiguration -Name Microsoft* -Force

Ejemplo 4: Deshabilitar las configuraciones de sesión mediante la canalización

En este ejemplo se deshabilitan las configuraciones de sesión de MaintenanceShell y Administración Shell. El operador de canalización (|) envía los resultados de Get-PSSessionConfiguration a Disable-PSSessionConfiguration.

Get-PSSessionConfiguration -Name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration

Ejemplo 5: Efectos de deshabilitar una configuración de sesión

En este ejemplo se muestran los permisos antes y después de ejecutarse Disable-PSSessionConfiguration y el efecto de deshabilitar una configuración de sesión.

PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto

Name                   Permission
----                   ----------
MaintenanceShell       BUILTIN\Administrators AccessAllowed
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

PS> Disable-PSSessionConfiguration -Name MaintenanceShell -Force
PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto

Name                   Permission
----                   ----------
MaintenanceShell       Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

PS> New-PSSession -ComputerName localhost -ConfigurationName MaintenanceShell

[localhost] Connecting to remote server failed with the following error message : Access is denied.
For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed

Nota:

Deshabilitar la configuración no impide que cambie la configuración mediante el Set-PSSessionConfiguration cmdlet . Solo impide el uso de la configuración.

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Obliga al comando a ejecutarse sin solicitar la confirmación del usuario.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Especifica una matriz de nombres de configuraciones de sesión que se van a deshabilitar. Escriba uno o más nombres de configuración. Se permite el uso de caracteres comodín. También puede canalizar una cadena que contenga un nombre de configuración o un objeto de configuración de sesión a Disable-PSSessionConfiguration.

Si omite este parámetro, Disable-PSSessionConfiguration deshabilita la configuración de sesión de Microsoft.PowerShell .

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-NoServiceRestart

Se usa para evitar el reinicio del servicio WSMan. No es necesario reiniciar el servicio para deshabilitar la configuración.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Puede canalizar un objeto de configuración de sesión a este cmdlet.

String

Puede canalizar una cadena que contenga el nombre de una configuración de sesión a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado.

Notas

Este cmdlet solo está disponible en plataformas Windows.

Para ejecutar este cmdlet, debe iniciar PowerShell mediante la opción Ejecutar como administrador .