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