Share via


about_Remote_Requirements

Descrição breve

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.

Observação

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 de sistema

No Windows, a comunicação remota do PowerShell usa o WinRM (Gerenciamento Remoto do Windows), que é fornecido pelo Windows Management Framework (WMF). 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 Windows Management Framework (WMF).

Você pode criar uma sessão remota entre um computador executando Windows PowerShell 2.0 e uma 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 Windows PowerShell 3.0 e superior.

Para localizar o número de versão de uma versão instalada do PowerShell, use a $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 via SSH.

Permissões de usuário

Para criar sessões remotas e executar comandos remotos, por padrão, o usuário atual deve ser membro do grupo Administradores no computador remoto ou fornecer as credenciais de um administrador. Caso contrário, o comando falhará.

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 o ponto de extremidade de conexão 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, só permitem acesso a membros do grupo Administradores .

Os membros do grupo Administradores 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 *-PSSession cmdlets 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 Enable-PSRemoting cmdlet 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 Enable-PSRemoting cmdlet 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 Enable-PSRemoting cmdlet . Essa opção cria uma regra de firewall que permite o 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 Set-NetFirewallRule cmdlet no módulo NetSecurity . Execute o comando a seguir:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Observação

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 o 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

Os 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. Essas 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 for membro do grupo Administradores no computador local.

Quando você iniciar 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.

Windows Server 2012 e versões mais recentes do Windows Server estão habilitadas 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 Enable-PSRemoting cmdlet .

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 WS-Management (Serviços Web para Gerenciamento). 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:

  1. Inicie o PowerShell com a opção Executar como administrador .
  2. 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.

Entender as políticas

Ao trabalhar remotamente, você 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.

Confira também