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 PowerShell que são enviados usando a tecnologia WS-Management.
A comunicação remota do PowerShell é habilitada por padrão no Windows Server 2012 e superior. Você pode usar Enable-PSRemoting
para habilitar a comunicação remota do PowerShell em outras versões com suporte do Windows e habilitar novamente a comunicação remota se ela for desabilitada.
Você precisa executar esse comando apenas uma vez em cada computador que recebe 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 PowerShell 3.0, o cmdlet Enable-PSRemoting
pode habilitar a comunicação remota do 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 o Microsoft.PowerShell32 configuração de sessão em computadores de 64 bits, caso ainda não esteja registrado.
- 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 na plataforma Windows, inicie o PowerShell usando a opção Executar como administrador.
Para obter mais informações sobre como usar a comunicação remota do PowerShell, consulte os seguintes artigos:
Exemplos
Exemplo 1: configurar um computador para receber comandos remotos
Esse comando configura o computador para receber comandos remotos.
Enable-PSRemoting
Exemplo 2: configurar um computador para receber comandos remotos sem um prompt de confirmação
Esse comando configura o computador para receber comandos remotos. O parâmetro Force suprime os prompts do usuário.
Enable-PSRemoting -Force
Exemplo 3: Permitir acesso remoto em clientes
Este exemplo mostra como permitir o acesso remoto de redes públicas em versões de cliente do sistema operacional Windows. O nome da regra de firewall pode ser diferente para versões diferentes do Windows.
Use Get-NetFirewallRule
para ver uma lista de regras. Antes de habilitar a regra de firewall, exiba as configurações de segurança na regra para verificar se a configuração é apropriada para seu ambiente.
Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name
Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
Por padrão, Enable-PSRemoting
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 especifica o parâmetro Force para suprimir mensagens de confirmação.
O parâmetro SkipNetworkProfileCheck não afeta as versões do servidor do sistema operacional Windows, que permitem o acesso remoto de redes públicas na mesma sub-rede local por padrão.
O cmdlet Set-NetFirewallRule
no módulo NetSecurity adiciona uma regra de firewall que permite o acesso remoto de redes públicas de qualquer local remoto. Isso inclui locais em sub-redes diferentes.
Nota
O nome da regra de firewall pode ser diferente dependendo da versão do Windows. Use o cmdlet Get-NetFirewallRule
para listar os nomes das regras em seu sistema.
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
Força o comando a ser executado sem solicitar a confirmação do usuário.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-SkipNetworkProfileCheck
Indica que esse cmdlet permite a comunicação remota em versões de cliente do sistema operacional 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 afeta as versões de servidor do sistema operacional 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, 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 PowerShell 3.0.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
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
Você não pode redirecionar objetos para este cmdlet.
Saídas
Esse cmdlet retorna cadeias de caracteres que descrevem seus resultados.
Observações
A partir do PowerShell 3.0, Enable-PSRemoting
habilita todas as configurações de sessão definindo o valor da propriedade habilitada de todas as configurações de sessão para $True
.
Em versões de servidor do sistema operacional 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 somente de computadores na mesma sub-rede local.Nas versões do cliente do sistema operacional Windows,
Enable-PSRemoting
no 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 sistema operacional 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:Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Enable-PSRemoting
habilita todas as configurações de sessão definindo o valor da propriedade habilitada de todas as configurações de sessão para $True
.
Enable-PSRemoting
remove as configurações de Deny_All e Network_Deny_All. Isso fornece acesso remoto às configurações de sessão reservadas para uso local.