Compartilhar via


Disable-PSRemoting

Impede o computador de receber comandos remotos do Windows PowerShell.

Sintaxe

Disable-PSRemoting [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]

Descrição

A função Disable-PSRemoting desabilita todas as configurações de sessão no computador local adicionando uma entrada "negar todos" aos seus descritores de segurança. Isso impede o computador local de receber comandos remotos.

Disable-PSRemoting não para o serviço WinRM e não impede que usuários do computador local estabeleçam sessões que se conectam a computadores remotos ou enviem comandos a outros computadores.

Para reabilitar as configurações de sessão, use os cmdlets Enable-PSRemoting ou Enable-PSSessionConfiguration.

Para executar essa função no Windows Vista, no Windows Server 2008 e em versões mais recentes do Windows, você deve abrir o Windows PowerShell com a opção "Executar como administrador".

Parâmetros

-Force

Suprime todos os avisos de usuário. Por padrão, você receberá um aviso para confirmar cada operação.

Necessário?

false

Posição?

named

Valor padrão

False

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Confirm

Solicita confirmação antes da execução do comando.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-WhatIf

Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

Nenhum

Você não pode canalizar a entrada para este cmdlet.

Saídas

Nenhum

Este cmdlet não retorna nenhum objeto.

Observações

Uma configuração de sessão é um grupo de configurações que definem o ambiente para uma sessão. As configurações de sessão estão localizadas no computador remoto e são usadas por sessões locais e remotas que estabelecem conexão com o computador.

Cada sessão que estabelecer conexão com o computador deverá usar uma das configurações de sessão registradas no computador. Isso inclui as sessões persistentes que você cria usando os cmdlets New-PSSession ou Enter-PSSession, bem como as sessões temporárias que o Windows PowerShell cria quando você usa o parâmetro ComputerName de um cmdlet que usa tecnologia de comunicação remota WS-Management, como Invoke-Command. Negando acesso a todas as configurações de sessão, você impede efetivamente que todos os usuários estabeleçam sessões que se conectam ao computador.

Disable-PSRemoting equivale a "Disable-PSSessionConfiguration -name *.

Exemplo 1

C:\PS>disable-psremoting

Descrição
-----------
Esse comando desabilita todas as configurações de sessão no computador.





Exemplo 2

C:\PS>disable-psremoting -force

Descrição
-----------
Esse comando desabilita todas as configurações de sessão no computador sem aviso.





Exemplo 3

C:\PS>disable-psremoting -force

C:\PS> new-pssession -computername localhost

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


C:\PS> new-pssession -computername Server01

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   Server01...     Opened   Microsoft.PowerShell     Available


C:\PS> enable-pssessionConfiguration -name * -force

C:\PS> new-pssession -computername localhost

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   localhost       Opened   Microsoft.PowerShell     Available

Descrição
-----------
Este exemplo mostra o efeito do uso de Disable-PSRemoting.

O primeiro comando usa Disable-PSRemoting para desabilitar todas as configurações de sessão registradas no computador local.

O segundo comando usa New-PSSession para criar uma sessão remota para o computador local (também conhecido como "loopback"). Como as configurações de sessão que a sessão requer estão desabilitadas, o comando falha.

O terceiro comando usa o cmdlet New-PSSession para criar uma sessão do computador local para o computador remoto Server01. Esse comando, que usa as configurações de sessão no computador remoto, obtém êxito. 

O quarto comando usa o cmdlet Enable-PSSessionConfiguration para reabilitar todas as configurações de sessão no computador local. O comando usa um valor * (tudo) no parâmetro Name. 

O quinto comando tenta novamente estabelecer uma sessão de loopback usando o cmdlet New-PSSession. Desta vez o comando é bem-sucedido, pois a configuração de sessão que ele requer está habilitada.





Exemplo 4

C:\PS>disable-psremoting -force

C:\PS> get-psSessionConfiguration | format-table -property name, permission -auto

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

C:\PS> enable-psremoting -force
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.

C:\PS>> Get-PSSessionConfiguration | ft name, Permission -auto

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

Descrição
-----------
Este exemplo mostra o efeito do uso de Disable-PSRemoting e Enable-PSRemoting nas configurações de sessão.

O primeiro comando usa a função Disable-PSRemoting para desabilitar todas as configurações de sessão registradas. O parâmetro force suprime todos os avisos de usuário.

O segundo comando usa o cmdlet Get-PSSessionConfiguration para exibir as configurações de sessão registradas no computador. O comando usa um operador de pipeline para enviar os resultados para um comando Format-Table, que exibe somente as propriedades Name e Permission das configurações em uma tabela.

A tabela resultante mostra que todos têm permissão negada às configurações.

O terceiro comando usa o cmdlet Enable-PSRemoting para reabilitar todas as configurações de sessão no computador. Você também poderá usar um comando "Enable-PsSessionConfiguration -name *". O comando usa o parâmetro Force para suprimir todos os avisos de usuário e para reiniciar o serviço WinRM sem aviso.

O quarto comando usa Get-PSSessionConfiguration e Format-Table para exibir os nomes e as permissões das configurações de sessão. Os resultados mostram que os membros do grupo Administradores agora têm acesso às configurações de sessão.





Consulte também

Conceitos

Enable-PSRemoting
Disable-PSSessionConfiguration
Get-PSSessionConfiguration
Register-PSSessionConfiguration
Set-PSSessionConfiguration
Unregister-PSSessionConfiguration
WSMan Provider