Share via


Disable-PSSessionConfiguration

Desabilita as configurações de sessão no computador local.

Syntax

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

Description

O Disable-PSSessionConfiguration cmdlet desabilita as configurações de sessão no computador local, o que impede que todos os usuários usem as configurações de sessão para criar uma sessão gerenciada pelo usuário (PSSessions) no computador local. Esse é um cmdlet avançado projetado para ser utilizado por administradores de sistema a fim de gerenciar configurações de sessão personalizadas para seus usuários.

A partir do PowerShell 3.0, o Disable-PSSessionConfiguration cmdlet define a configuração Habilitado da configuração da sessão (WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled) como False.

No PowerShell 2.0, o Disable-PSSessionConfiguration cmdlet adiciona uma entrada Deny_All ao descritor de segurança de uma ou mais configurações de sessão registradas.

Sem parâmetros, Disable-PSSessionConfiguration desabilita a configuração do Microsoft.PowerShell , a configuração padrão usada para sessões. A menos que o usuário especifique uma configuração diferente, tanto os usuários locais e remotos são efetivamente impedidos de criar quaisquer sessões que se conectem ao computador.

Para desabilitar todas as configurações de sessão no computador, use Disable-PSRemoting.

Exemplos

Exemplo 1: Desabilitar a configuração padrão

Este exemplo desabilita a configuração de sessão do Microsoft.PowerShell.

Disable-PSSessionConfiguration

Exemplo 2: Desabilitar todas as configurações de sessão registradas

Este exemplo desabilita todas as configurações de sessão registradas no computador.

Disable-PSSessionConfiguration -Name *

Exemplo 3: Desabilitar configurações de sessão por nome

Este exemplo desabilita todas as configurações de sessão que têm nomes que começam com a Microsoft. O parâmetro Force suprime todos os prompts do usuário do cmdlet .

Disable-PSSessionConfiguration -Name Microsoft* -Force

Exemplo 4: Desabilitar configurações de sessão usando o pipeline

Este exemplo desabilita as configurações de sessão do MaintenanceShell e do AdminShell . O operador de pipeline (|) envia os resultados de um Get-PSSessionConfiguration para Disable-PSSessionConfiguration.

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

Exemplo 5: efeitos da desabilitação de uma configuração de sessão

Este exemplo mostra as permissões antes e depois da execução Disable-PSSessionConfiguration e o efeito de desabilitar uma configuração de sessão.

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

Observação

Desabilitar a configuração não impede que você altere a configuração usando o Set-PSSessionConfiguration cmdlet . Ele só impede o uso da configuração.

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

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

-Force

Força o comando a ser executado sem solicitar a confirmação do usuário.

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

-Name

Especifica uma matriz de nomes de configurações de sessão a serem desabilitados. Insira um ou mais nomes de configuração. Caracteres curinga são permitidos. Você também pode redirecionar uma cadeia de caracteres que contém um nome de configuração ou um objeto de configuração de sessão para Disable-PSSessionConfiguration.

Se você omitir esse parâmetro, Disable-PSSessionConfiguration desabilita a configuração de sessão do Microsoft.PowerShell.

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

-NoServiceRestart

Usado para impedir a reinicialização do serviço WSMan. Não é necessário reiniciar o serviço para desabilitar a configuração.

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

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

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

Entradas

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Você pode redirecionar um objeto de configuração de sessão ou uma cadeia de caracteres que contém o nome de uma configuração de sessão para esse cmdlet.

Saídas

None

Este cmdlet não retorna nenhum objeto.

Observações

Esse cmdlet só está disponível em plataformas Windows.

Para executar esse cmdlet, você deve iniciar o PowerShell usando a opção Executar como administrador .