Embora no Windows, o PSRemoting venha habilitado por padrão, ele não está habilitado o tempo todo. Se você precisa testar se o PSRemoting está habilitado ou habilitar o PSRemoting no Windows, este tutorial é para você.
Este tutorial irá guiá-lo por várias maneiras diferentes de habilitar o PSRemoting em computadores locais e remotos executando o Windows.
Vamos começar!
Habilitar o PSRemoting Faz Muitas Coisas
Se você está aprendendo sobre o PowerShell Remoting pela primeira vez, pode pensar que habilitar é apenas um comando único. Talvez você tenha visto algumas referências ao cmdlet PowerShell Enable-PSRemoting
e pensou que, ao executá-lo, ele apenas altera um bit em algum lugar. Você estaria errado.
Quando se trata de habilitar o PSRemoting, muitas tarefas devem acontecer nos bastidores para que isso aconteça. Como o PowerShell Remoting depende de outros sistemas para funcionar corretamente, ele possui algumas dependências.
Por exemplo, no Windows, quando você executa o cmdlet Enable-PSRemoting
sem parâmetros, ele realiza todas as seguintes tarefas:
- O serviço WinRM é iniciado e configurado para inicialização automática.
- Cria um ouvinte nas portas padrão do WinRM, 5985 para tráfego HTTP.
- Ativa as exceções de firewall para WS-Management.
- Registra as configurações da sessão do PowerShell com o WS-Management.
- Ativa as configurações da sessão do PowerShell.
- Define as sessões remotas do PowerShell para permitir acesso remoto.
- Reinicia o servidor WinRM para aplicar todas as alterações.
Você não está feliz por não ter que fazer tudo isso manualmente? Por que mencionar isso se o cmdlet Enable-PSRemoting
faz tudo? Porque haverá momentos em que algo não funcionará e será necessário diagnosticar o que está acontecendo.
Configurações padrão de PSRemoting no Windows
Desde o nascimento do PSRemoting no Windows, ele vem habilitado por padrão, mas não de forma universal e também não para todas as versões do Windows OS.
Em todos os sistemas operacionais cliente Windows, o PSRemoting está sempre desativado.
No Windows Server, o PSRemoting é habilitado às vezes, mas não o tempo todo, dependendo do perfil de rede sob o qual o Windows está sendo executado. Abaixo, você encontrará uma tabela útil para ajudá-lo a determinar se o PSRemoting está habilitado ou não em seu sistema operacional Windows.
Operating System | Network Profile | PSRemoting |
Windows Server 2008 R2 | Domain/Private | Disabled |
Windows Server 2008 R2 | Public | Disabled |
Windows Server 2012 & Newer | Domain/Private | Enabled |
Windows Server 2012 & Newer | Public | Enabled within the same subnet |
O Linux, por outro lado, é fácil. PSRemoting nem é uma coisa! Nem mesmo o PowerShell está instalado por padrão. Se você quiser executar o PSRemoting no Linux, precisará configurá-lo.
Chega de conversa, vamos mostrar como realmente começar a usar o PSRemoting!
Pré-requisitos
Se você pretende seguir os exemplos desta seção, certifique-se de ter o seguinte:
- A Windows Server 2008 R2 or later machine
- A local or Active Directory domain user in the local administrators group
Habilitando o PSRemoting localmente
Uma das maneiras mais fáceis de habilitar o PSRemoting é usar o comando embutido Enable-PSRemoting
. Este comando, como você aprendeu anteriormente, é um atalho para configurar muitos serviços diferentes para acomodar o Remoting do PowerShell.
Usando o Cmdlet Enable-PSRemoting
Ao executar este comando sem parâmetros, ele tomará diferentes ações dependendo do sistema operacional que você está utilizando. Em qualquer sistema operacional Windows atual, os mesmos passos básicos acontecem. O PSRemoting é habilitado, o ouvinte HTTP do WinRM é criado e as regras do firewall são habilitadas. A diferença chave está na forma como as redes públicas são tratadas.
Em um sistema operacional de servidor, como o Windows Server 2019, a regra do firewall para redes públicas permite conexões remotas de outros dispositivos na mesma rede. Em um sistema operacional de cliente, como o Windows 10, você receberá um erro indicando que está em uma rede pública.
Se você não tem certeza sobre o perfil de rede que o Windows está utilizando, execute o seguinte comando:
Você deve utilizar o PSRemoting apenas em uma rede confiável, já que essencialmente está executando um servidor web para ouvir conexões remotas.

Se você estiver bem em executar o PSRemoting em um perfil de rede diferente de Privado ou Domínio, você pode pular a verificação do perfil de rede usando o parâmetro SkipNetworkProfileCheck
. Usar este parâmetro abrirá as portas do WinRM no firewall do Windows.
Usar o parâmetro
SkipNetworkProfileCheck
abrirá o firewall do Windows para o PowerShell Remoting no seu perfil de rede atual, mas só permitirá conexões remotas de máquinas na mesma sub-rede.
Dois parâmetros que podem ser usados com o Enable-PSRemoting
trabalham juntos. Eles são os parâmetros -Force
e -Confirm
. Você pode usar -Force
para pular todas as solicitações que normalmente o comando Enable-PSRemoting
lhe daria. Você também pode usar -Confirm:$false
para obter o mesmo resultado.
Usando o comando winrm quickconfig
O comando winrm quickconfig
costumava ser uma maneira popular de configurar o PSRemoting antes de o cmdlet Enable-PSRemoting
ser criado, mas ainda tem seu lugar. Se você executar apenas winrm quickconfig
, ele habilitará o serviço WinRM, criará um ouvinte HTTP e habilitará as regras do firewall. Estas são todas coisas que já são feitas pelo Enable-PSRemoting
, mas isso não configura a máquina para ser capaz de lidar com sessões de PowerShell remotas.
Onde os comandos winrm
são úteis é na configuração de ouvintes HTTPS. Embora você possa fazer isso manualmente, se tiver um certificado apropriado para o ouvinte HTTPS, você pode simplesmente executar winrm quickconfig -transport:https
e o ouvinte HTTPS e as regras do firewall HTTPS serão configurados.
Habilitando o PSRemoting remotamente
Até agora, você aprendeu que pode habilitar o PSRemoting executando um comando em um computador local. Isso nos leva a um cenário de ovo e galinha. O PSremoting permite que você execute comandos em computadores remotos, mas como você executa um comando remotamente sem PSRemoting?
Três maneiras; o utilitário PSexec, WMI e Política de Grupo.
Usando o PsExec
O PsExec é uma ferramenta útil que permite executar comandos remotos, assim como o PSRemoting faz. No entanto, o PsExec utiliza um método de comunicação diferente, o que você pode aproveitar!
Com o PsExec, você pode executar o Enable-PSRemoting
a partir do seu computador local usando o seguinte comando. O comando abaixo está chamando o PsExec e se conectando ao servidor ServerB. Em seguida, ele inicia um processo do PowerShell e executa o comando Enable-PSRemoting
com o switch -Force
para pular as solicitações usuais.
Essa opção é boa para casos isolados em que você precisa habilitar o PSRemoting em um sistema remoto, mas não é ideal para habilitar o PSRemoting em muitos sistemas e exige que você baixe o PsExec.
Usando o WMI
Às vezes, o PsExec não funciona. Muitos softwares de segurança bloqueiam o PsExec, mas não se preocupe, você também tem o WMI!
Usando o PowerShell e o cmdlet Invoke-CimMethod
. Com o cmdlet Invoke-CimMethod
, você pode instruir o PowerShell a se conectar ao computador remoto via DCOM e invocar métodos.
Felizmente para você, o WMI possui classes Win32_Process
que permitem invocar processos. Ao invocar um método Create
contra o Win32_Process
, o Invoke-CimMethod
se conecta ao computador remoto, invocando o PowerShell e executando o Enable-PSRemoting
conforme mostrado abaixo.
O exemplo abaixo está criando uma tabela de hash para a conexão de sessão onde o nome do servidor, credenciais e protocolo são especificados. Em seguida, na tabela de hash seguinte, os parâmetros para o Invoke-CimMethod
estão sendo definidos. Uma vez que estes são executados, uma sessão CIM está sendo criada sobre o protocolo DCOM que inicia um processo do PowerShell que, por sua vez, executa o comando Enable-PSRemoting
.
No caso de você estar usando isso em um ambiente de domínio, e o usuário que está executando os comandos tem direitos administrativos no servidor de destino, a linha
Credential = Get-Credential
pode ser excluída.
Usando a Política de Grupo
A última, e provavelmente a melhor opção para habilitar o WinRM em uma ampla gama de computadores é através da política de grupo. Ao usar a Política de Grupo, você pode criar um único Objeto de Política de Grupo e aplicar essa política em milhares de computadores de uma só vez.
Todos os computadores devem estar em um domínio do Active Directory para usar a Política de Grupo.
Para usar a Política de Grupo para habilitar o WinRM em muitos computadores de uma só vez, você vai precisar definir três itens de configuração diferentes:
- Habilitar o serviço WinRM.
- Abrir a porta do Firewall do Windows para WinRm.
- Criar o ouvinte do WinRM e permitir conexões com ele.
Primeiro, faça RDP para um controlador de domínio ou, melhor ainda, instale o pacote de ferramentas do Administrador do Servidor Remoto (RSAT) em uma estação de trabalho associada ao domínio. Agora, você deve ter o Console de Gerenciamento de Diretiva de Grupo (GPMC) disponível.
Habilitando o Serviço WinRM
Para habilitar o serviço WinRM em todos os computadores de destino:
- Abra o GPMC e crie uma GPO. Enquanto estiver na nova GPO, navegue até Configuração do Computador —> Configurações do Windows —> Configurações de Segurança —> Serviços do Sistema
- Selecione Windows Remote Management (WS-Management).
- Na janela de configuração, marque a caixa para Definir esta configuração de política.
- Selecione o botão de opção Automático para configurar o serviço WinRM para iniciar automaticamente na inicialização.
- Clique em OK para confirmar a configuração.
Abrindo a Porta do Firewall do Windows
Em seguida, você precisa abrir a porta WinRM em todos os computadores de destino. Enquanto ainda estiver editando a GPO criada acima:
- Navegue até Configuração do Computador —> Configurações do Windows —> Configurações de Segurança —> Firewall do Windows Defender com Segurança Avançada.
2. Clique em Nova Regra de Entrada para criar uma nova regra de entrada.
3. Na primeira página, selecione Predefinido e escolha Windows Remote Management como mostrado abaixo.

4. Na próxima página, marque a caixa para a regra de Rede Doméstica/Privada a menos que você saiba que redes públicas são usadas em seus ambientes e você precisará permitir conexões remotas a partir delas.

5. Na próxima página, deixe o padrão de Permitir a conexão e clique em Concluir para criar a regra.
Crie o Listener WinRM e a Lista de Filtros
O último item de configuração a ser adicionado à sua GPO é a criação do ouvinte WinRM e permitir conexões a esse ouvinte WinRM. Essa configuração cria o ouvinte WinRM para HTTP e permite conexões a ele a partir dos IPs ou intervalos de IP especificados.
Ainda enquanto edita a GPO do WinRM:
- Navegue até Configuração do Computador —> Modelos Administrativos —> Componentes do Windows —> Gerenciamento Remoto do Windows (WinRM) —> Serviço WinRM.
2. Selecione Ativado para a configuração Permitir gerenciamento remoto de serviço através do WinRM.
3. Sob a configuração Permitir gerenciamento remoto do servidor através do WinRM, forneça um asterisco (*
) tanto para o Filtro IPv4 quanto para o Filtro IPv6, como mostrado abaixo.
Observe que você pode especificar vários hosts separados por vírgula em cada lista de filtros se você souber antecipadamente quais hosts se conectarão a todos os computadores de destino.

4. Clique em OK para confirmar a configuração mais recente da GPO.
Aplicando a GPO
Neste momento, a GPO deve estar criada e pronta para ser utilizada. A última tarefa que você precisa fazer agora é aplicar esta GPO a todos os computadores de destino nos quais você deseja habilitar o WinRM. Neste tutorial, você não aprenderá como atribuir uma GPO a computadores de destino.
Se você não sabe como atribuir uma GPO a um conjunto de computadores no Active Directory, você deve conferir este artigo.
Próximas etapas
Neste tutorial, você aprendeu como habilitar o PSRemoting de várias maneiras diferentes. Como habilitar o PSRemoting dependerá muito do seu ambiente e espero ter abordado o seu cenário aqui.
Agora, pegue o que você aprendeu, vá em frente e comece a usar o PSRemoting no seu ambiente!