Partilhar via


Enable-PSRemoting

Configura o computador para receber comandos remotos.

Sintaxe

Default (Predefinição)

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 o Enable-PSRemoting para habilitar a comunicação remota do PowerShell em outras versões com suporte do Windows e para reativar 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 só enviam comandos. Como a configuração inicia ouvintes, é prudente executá-la apenas onde for necessária.

A partir do PowerShell 3.0, o cmdlet Enable-PSRemoting pode habilitar a comunicação remota do PowerShell em versões de 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 o Microsoft.PowerShell e Microsoft.PowerShell.Workflow configurações de sessão, se ainda não estiverem registrados.
    • Registra a configuração de sessão 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 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

Este 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

Este comando configura o computador para receber comandos remotos. O parâmetro Force suprime as solicitações do utilizador.

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 cliente do sistema operacional Windows. O nome da regra de firewall pode ser diferente para diferentes versões 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, 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 de 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 a partir de qualquer local remoto. Isso inclui locais em diferentes sub-redes.

Observação

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 confirmação antes de executar o cmdlet.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Force

Força o comando a ser executado sem pedir a confirmação do usuário.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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. 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 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 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 Set-NetFirewallRule no módulo NetSecurity.

Esse parâmetro foi introduzido no PowerShell 3.0.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Não é possível canalizar objetos para este cmdlet.

Saídas

String

Este cmdlet retorna cadeias de caracteres que descrevem seus resultados.

Notas

A partir do PowerShell 3.0, o Enable-PSRemoting habilita todas as configurações de sessão definindo o valor da propriedade Enabled de todas as configurações de sessão como $true.

  • Nas versões de servidor do sistema operacional Windows, o 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.

  • Em versões de cliente do sistema operacional Windows, o 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 a partir da mesma sub-rede local, use o parâmetro SkipNetworkProfileCheck.

  • Nas versões cliente ou servidor do sistema operacional 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

Enable-PSRemoting habilita todas as configurações de sessão definindo o valor da propriedade Enabled de todas as configurações de sessão como $true.

Enable-PSRemoting remove as configurações de Deny_All e Network_Deny_All. Isso fornece acesso remoto a configurações de sessão que foram reservadas para uso local.