Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Descrição curta
Descreve os requisitos do sistema e os requisitos de configuração para executar comandos remotos no PowerShell.
Descrição longa
Este tópico descreve os requisitos do sistema, os requisitos do usuário e os requisitos de recursos para estabelecer conexões remotas e executar comandos remotos no PowerShell. Ele também fornece instruções para configurar operações remotas.
Nota
Alguns cmdlets obtêm objetos de conexões RPC de computadores remotos ou sessões WMI para conexões remotas. Eles não usam a infraestrutura de comunicação remota do PowerShell. Os requisitos neste documento não se aplicam a esses cmdlets.
Para localizar os cmdlets que têm um parâmetro ComputerName mas não usam a comunicação remota do PowerShell, leia a descrição do parâmetro ComputerName dos cmdlets.
Requisitos do sistema
No Windows, a comunicação remota do PowerShell usa o WinRM (Gerenciamento Remoto do Windows), fornecido pelo WMF (Windows Management Framework). Para executar sessões remotas no PowerShell, os computadores locais e remotos devem ter o seguinte:
- Windows PowerShell 3.0 ou superior
- O Microsoft .NET Framework 4 ou superior
- Gerenciamento Remoto do Windows 3.0 ou superior
Para executar sessões remotas no Windows PowerShell 2.0, os computadores locais e remotos devem ter o seguinte:
- Windows PowerShell 2.0 ou posterior
- O Microsoft .NET Framework 2.0 ou posterior
- Gerenciamento Remoto do Windows 2.0
Para ter suporte total, você deve usar o WMF 5.1. Para obter mais informações sobre o suporte ao WMF, consulte do WMF (Windows Management Framework).
Você pode criar uma sessão remota entre um computador executando o Windows PowerShell 2.0 e outro executando uma versão mais recente do PowerShell. No entanto, os recursos executados apenas em novas versões do PowerShell, como a capacidade de se desconectar e se reconectar às sessões, só estarão disponíveis quando ambos os computadores estiverem executando o Windows PowerShell 3.0 e superior.
Para localizar o número de versão de uma versão instalada do PowerShell, use o $PSVersionTable variável automática.
O PowerShell 7 e superior também dá suporte à comunicação remota do PowerShell por SSH. A comunicação remota do PowerShell por SSH permite que você se conecte a qualquer host Windows, macOS ou Linux que esteja executando o SSH. Para obter mais informações, consulte comunicação remota do PowerShell sobre o SSH.
Permissões de usuário
Para criar sessões remotas e executar comandos remotos, conecte-se a uma conta de usuário que seja membro do grupo Administradores ou Usuários de Gerenciamento Remoto no computador remoto.
As permissões necessárias para criar sessões e executar comandos em um computador remoto são estabelecidas pela configuração da sessão. A configuração da sessão define as opções de configuração para a conexão ponto de extremidade no computador remoto. Especificamente, o descritor de segurança na configuração da sessão determina quem tem acesso à configuração da sessão e quem pode usá-la para se conectar.
Os descritores de segurança nas configurações de sessão padrão, microsoft.PowerShell e microsoft.PowerShell32, permitem apenas o acesso aos membros do grupo Administradores.
Os membros do grupo administradores de em um computador podem determinar quem tem permissão para se conectar ao computador remotamente alterando os descritores de segurança nas configurações de sessão padrão ou criando novas configurações de sessão com descritores de segurança diferentes. Os usuários podem usar o parâmetro ConfigurationName de cmdlets *-PSSession para se conectar a pontos de extremidade diferentes.
Para obter mais informações sobre configurações de sessão, consulte about_Session_Configurations.
Locais de rede do Windows
A partir do Windows PowerShell 3.0, o cmdlet Enable-PSRemoting pode habilitar a comunicação remota em versões de cliente e servidor do Windows.
Em versões de servidor do Windows com redes privadas e de domínio, o cmdlet Enable-PSRemoting cria regras de firewall que permitem acesso remoto irrestrito. Ele também cria uma regra de firewall para redes públicas que permite o acesso remoto somente de computadores na mesma sub-rede local. Essa regra de firewall de sub-rede local é habilitada por padrão em versões de servidor do Windows em redes públicas, mas Enable-PSRemoting reaplica a regra caso ela tenha sido alterada ou excluída.
Em versões de cliente do Windows com redes privadas e de domínio, Enable-PSRemoting cria regras de firewall que permitem acesso remoto irrestrito.
Para habilitar a comunicação remota em versões de cliente do Windows com redes públicas, use o parâmetro SkipNetworkProfileCheck do cmdlet Enable-PSRemoting. Essa opção cria uma regra de firewall que permite acesso remoto somente de computadores na mesma sub-rede local.
Para remover a restrição de sub-rede local em redes públicas e permitir o acesso remoto de todos os locais em versões de cliente e servidor do Windows, use o cmdlet Set-NetFirewallRule no módulo NetSecurity. Execute o seguinte comando:
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Nota
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.
No Windows PowerShell 2.0, em versões de servidor do Windows, Enable-PSRemoting cria regras de firewall que permitem acesso remoto em todas as redes.
No Windows PowerShell 2.0, em versões de cliente do Windows, Enable-PSRemoting cria regras de firewall somente em redes privadas e de domínio. Se o local da rede for público, Enable-PSRemoting falhará.
Executar como administrador
Privilégios de administrador são necessários para as seguintes operações de comunicação remota:
- Estabelecendo uma conexão remota com o computador local. Isso é comumente conhecido como um cenário de "loopback".
- Gerenciando configurações de sessão no computador local.
- Exibindo e alterando WS-Management configurações no computador local. Estas são as configurações no nó LocalHost da unidade WSMan: .
Você deve iniciar o PowerShell com a opção Executar como administrador mesmo se você for membro do grupo Administradores no computador local.
Ao iniciar o Windows PowerShell de outro programa, como cmd.exe, use a opção Executar como administrador para iniciar o programa.
Como configurar seu computador para comunicação remota
Computadores que executam qualquer versão com suporte do Windows podem estabelecer conexões remotas e executar comandos remotos no PowerShell sem nenhuma configuração. No entanto, para receber conexões remotas, você deve habilitar a comunicação remota do PowerShell no computador.
O Windows Server 2012 e versões mais recentes do Windows Server estão habilitados para comunicação remota do PowerShell por padrão. Se as configurações forem alteradas, você poderá restaurar as configurações padrão executando o cmdlet Enable-PSRemoting.
Por padrão, os recursos de comunicação remota do PowerShell são compatíveis com o serviço WinRM, que é a implementação da Microsoft do protocolo Serviços Web para Gerenciamento (WS-Management). Ao habilitar a comunicação remota do PowerShell, você altera a configuração padrão de WS-Management e adiciona a configuração do sistema que permite que os usuários se conectem ao WS-Management.
Para configurar o PowerShell para receber comandos remotos:
- Inicie o PowerShell com a opção Executar como administrador.
- No prompt de comando, digite:
Enable-PSRemoting
Para verificar se a comunicação remota está configurada corretamente, execute um comando de teste, como o comando a seguir, que cria uma sessão remota no computador local.
New-PSSession
Se a comunicação remota estiver configurada corretamente, o comando criará uma sessão no computador local e retornará um objeto que representa a sessão.
Id Name ComputerName State ConfigurationName
-- ---- ------------ ----- -----
1 Session1 localhost Opened Microsoft.PowerShell
Se o comando falhar, consulte about_Remote_Troubleshooting.
O Protocolo de Comunicação Remota do PowerShell (PSRP) requer uma camada de transporte segura para transferência de dados segura. Para obter mais informações, consulte Transferência de dados segura na seção de comunicação remota do PowerShell dos recursos de segurança do PowerShell.
Entender políticas
Quando você trabalha remotamente, usa duas instâncias do PowerShell, uma no computador local e outra no computador remoto. Como resultado, seu trabalho é afetado pelas políticas do Windows e do PowerShell nos computadores locais e remotos.
Antes de se conectar e ao estabelecer a conexão, as políticas no computador local estão em vigor. Quando você está usando a conexão, as políticas no computador remoto estão em vigor.
Consulte também
- about_Remote
- about_Remote_Variables
- about_PSSessions
- invoke-command
- Enter-PSSession
- New-PSSession