Enable-PSRemoting
Configura o computador para receber comandos remotos.
Sintaxe
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Enable-PSRemoting configura o computador para receber comandos remotos do Windows PowerShell enviados usando a tecnologia WS-Management.
No Windows Server 2012, a comunicação remota do Windows PowerShell é habilitada por padrão. Você pode usar Enable-PSRemoting para habilitar a comunicação remota do Windows PowerShell em outras versões com suporte do Windows e para reativar a comunicação remota no Windows Server 2012 se ela for desabilitada.
Você tem que executar este comando apenas uma vez em cada computador que receberá comandos. Não é necessário executá-lo em computadores que apenas enviam comandos. Como a configuração inicia ouvintes, é prudente executá-la apenas onde for necessária.
A partir do Windows PowerShell 3.0, o cmdlet Enable-PSRemoting pode habilitar a comunicação remota do Windows PowerShell em versões cliente do Windows quando o computador estiver em uma rede pública.
Para obter mais informações, consulte a descrição do parâmetro
O cmdlet Enable-PSRemoting executa as seguintes operações:
- Executa o cmdlet Set-WSManQuickConfig, que executa as seguintes tarefas:
- Inicia o serviço WinRM.
- Define o tipo de inicialização no serviço WinRM como Automático.
- Cria um ouvinte para aceitar solicitações em qualquer endereço IP.
- Habilita uma exceção de firewall para comunicações WS-Management.
- Registra as configurações de sessão Microsoft.PowerShell e Microsoft.PowerShell.Workflow, se ainda não estiverem registradas.
- Registra a configuração de sessão do Microsoft.PowerShell32 em computadores de 64 bits, se ainda não estiver registrada.
- Permite todas as configurações de sessão.
- Altera o descritor de segurança de todas as configurações de sessão para permitir o acesso remoto.
- Reinicia o serviço WinRM para tornar efetivas as alterações anteriores.
Para executar esse cmdlet, inicie o Windows PowerShell com a opção "Executar como administrador".
Atenção
Em sistemas que tenham o Windows PowerShell 3.0 e o mecanismo do Windows PowerShell 2.0, não use o Windows PowerShell 2.0 para executar os cmdlets Enable-PSRemoting e Disable-PSRemoting. Os comandos podem parecer bem-sucedidos, mas a comunicação remota não está configurada corretamente. É provável que os comandos remotos e as tentativas posteriores de ativar e desativar a comunicação remota falhem.
Exemplos
Exemplo 1: Configurar um computador para receber comandos remotos
Enable-PSRemoting
Este comando configura o computador para receber comandos remotos.
Exemplo 2: Configurar um computador para receber comandos remotos sem um prompt de confirmação
Enable-PSRemoting -Force
Este comando configura o computador para receber comandos remotos. Ele usa o parâmetro Force para suprimir os prompts do usuário.
Exemplo 3: Permitir acesso remoto em clientes
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Este exemplo mostra como permitir o acesso remoto de redes públicas em versões cliente do Windows. Antes de usar esses comandos, analise a configuração de segurança e verifique se a rede de computadores estará protegida contra danos.
O primeiro comando permite a comunicação remota no Windows PowerShell. Por padrão, isso cria regras de rede que permitem o acesso remoto de redes privadas e de domínio. O comando usa o parâmetro SkipNetworkProfileCheck para permitir o acesso remoto de redes públicas na mesma sub-rede local. O comando usa o parâmetro Force para suprimir mensagens de confirmação.
O parâmetro SkipNetworkProfileCheck não tem efeito na versão do servidor do Windows, que permite o acesso remoto de redes públicas na mesma sub-rede local por padrão.
O segundo comando elimina a restrição de sub-rede. O comando usa o cmdlet Set-NetFirewallRule no módulo NetSecurity para adicionar uma regra de firewall que permite o acesso remoto de redes públicas a partir de qualquer local remoto. Isso inclui locais em diferentes sub-redes.
Parâmetros
-Confirm
Solicita confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Force
Suprime todos os prompts do usuário. Por padrão, você será solicitado a confirmar cada operação.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-SkipNetworkProfileCheck
Permite a comunicação remota em versões de cliente do Windows quando o computador está em uma rede pública. Este parâmetro permite uma regra de firewall para redes públicas que permite o acesso remoto apenas a partir de computadores na mesma sub-rede local.
Esse parâmetro não tem efeito nas versões de servidor do Windows, que, por padrão, têm uma regra de firewall de sub-rede local para redes públicas. Se a regra de firewall de sub-rede local estiver desabilitada em uma versão de servidor do Windows, Enable-PSRemoting a reativará, independentemente do valor desse parâmetro.
Para remover a restrição de sub-rede local e habilitar o acesso remoto de todos os locais em redes públicas, use o cmdlet
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
None
Não é possível canalizar a entrada para este cmdlet.
Saídas
Este cmdlet retorna cadeias de caracteres que descrevem seus resultados.
Notas
No Windows PowerShell 3.0, Enable-PSRemoting cria as seguintes exceções de firewall para comunicações WS-Management.
Em versões de servidor do Windows, Enable-PSRemoting cria regras de firewall para redes privadas e de domínio que permitem acesso remoto e cria uma regra de firewall para redes públicas que permite acesso remoto apenas de computadores na mesma sub-rede local.
Em versões de cliente do Windows, Enable-PSRemoting no Windows PowerShell 3.0 cria regras de firewall para redes privadas e de domínio que permitem acesso remoto irrestrito. Para criar uma regra de firewall para redes públicas que permita o acesso remoto a partir da mesma sub-rede local, use o parâmetro SkipNetworkProfileCheck.
Nas versões cliente ou servidor do Windows, para criar uma regra de firewall para redes públicas que remova a restrição de sub-rede local e permita acesso remoto, use o cmdlet Set-NetFirewallRule no módulo NetSecurity para executar o seguinte comando:
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
No Windows PowerShell 2.0, o Enable-PSRemoting cria as seguintes exceções de firewall para comunicações WS-Management.
Nas versões de servidor do Windows, ele cria regras de firewall para todas as redes que permitem acesso remoto.
Em versões de cliente do Windows, o Enable-PSRemoting no Windows PowerShell 2.0 cria uma exceção de firewall apenas para locais de domínio e rede privada. Para minimizar os riscos de segurança, Enable-PSRemoting não cria uma regra de firewall para redes públicas em versões cliente do Windows. Quando o local de rede atual é público, Enable-PSRemoting retorna a seguinte mensagem: "Não é possível verificar o status do firewall".
A partir do Windows PowerShell 3.0, Enable-PSRemoting habilita todas as configurações de sessão definindo o valor da propriedade Enabled de todas as configurações de sessão (WSMan:\<ComputerName>\Plugin\<SessionConfigurationName>\Enabled) como True ($true).
No Windows PowerShell 2.0, Enable-PSRemoting remove a configuração Deny_All do descritor de segurança das configurações de sessão. No Windows PowerShell 3.0, o Enable-PSRemoting remove as configurações de Deny_All e Network_Deny_All, fornecendo acesso remoto às configurações de sessão que estavam reservadas para uso local.