Compartilhar via


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 habilitar novamente a comunicação remota no Windows Server 2012 se ela ficar desabilitada.

Você precisa executar esse comando apenas uma vez em cada computador que receberá comandos. Você não precisa executá-lo em computadores que enviam apenas comandos. Como a configuração inicia os ouvintes, é prudente executá-la somente onde for necessária.

A partir do Windows PowerShell 3.0, o cmdlet Enable-PSRemoting pode habilitar a comunicação remota do Windows PowerShell nas versões do cliente do Windows quando o computador estiver em uma rede pública. Para obter mais informações, consulte a descrição do parâmetro SkipNetworkProfileCheck.

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, caso ainda não estejam registradas.
    • Registra a configuração da sessão Microsoft.PowerShell32 em computadores de 64 bits, se ela ainda não estiver registrada.
    • Habilita 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 as alterações anteriores efetivas.

Para executar esse cmdlet, inicie o Windows PowerShell com a opção "Executar como administrador".

Cuidado

Em sistemas que têm 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 e Disable-PSRemoting Enable-PSRemoting de . Os comandos podem parecer bem-sucedidos, mas a comunicação remota não está configurada corretamente. Comandos remotos e tentativas posteriores de habilitar e desabilitar a comunicação remota provavelmente falharão.

Exemplos

Exemplo 1: configurar um computador para receber comandos remotos

Enable-PSRemoting

Esse 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

Esse 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 de cliente do Windows. Antes de usar esses comandos, analise a configuração de segurança e verifique se a rede do computador estará segura contra danos.

O primeiro comando habilita a comunicação remota no Windows PowerShell. Por padrão, isso cria regras de rede que permitem 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 de qualquer local remoto. Isso inclui locais em sub-redes diferentes.

Parâmetros

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Force

Suprime todos os prompts do usuário. Por padrão, você será solicitado a confirmar cada operação.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SkipNetworkProfileCheck

Habilita a comunicação remota em versões de cliente do Windows quando o computador está em uma rede pública. Esse parâmetro habilita uma regra de firewall para redes públicas que permite o acesso remoto somente 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 do servidor do Windows, Enable-PSRemoting a habilitar novamente, 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 Set-NetFirewallRule no módulo NetSecurity.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Não é possível redirecionar a entrada para este cmdlet.

Saídas

String

Esse cmdlet retorna cadeias de caracteres que descrevem seus resultados.

Observações

  • 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 o acesso remoto somente de computadores na mesma sub-rede local.

    Nas versões do 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 da mesma sub-rede local, use o parâmetro SkipNetworkProfileCheck.

    Em versões de cliente ou servidor do Windows, para criar uma regra de firewall para redes públicas que remove a restrição de sub-rede local e permite o acesso remoto, use o cmdlet Set-NetFirewallRule no módulo NetSecurity para executar o seguinte comando:

  • No Windows PowerShell 2.0, Enable-PSRemoting cria as seguintes exceções de firewall para comunicações WS-Management.

    Em versões de servidor do Windows, ele cria regras de firewall para todas as redes que permitem acesso remoto.

    Nas versões do cliente do Windows, Enable-PSRemoting no Windows PowerShell 2.0 cria uma exceção de firewall somente 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 de 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 de Deny_All do descritor de segurança das configurações de sessão. No Windows PowerShell 3.0, Enable-PSRemoting remove as configurações de Deny_All e Network_Deny_All, fornecendo assim acesso remoto às configurações de sessão reservadas para uso local.