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 computadores remotos, conexões RPC 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), que é fornecido pela WMF (Estrutura de Gerenciamento do Windows). 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 WMF (Windows Management Framework).

Você pode criar uma sessão remota entre um computador que executa o Windows PowerShell 2.0 e um que executa uma versão mais recente do PowerShell. No entanto, os recursos executados apenas em novas versões do PowerShell, como a capacidade de desconectar e reconectar a sessões, só estão disponíveis quando ambos os computadores estão executando o 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 SSH. Para obter mais informações, consulte Comunicação remota do PowerShell sobre 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, permitem apenas o acesso aos 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 cmdlets para se conectar a diferentes pontos de *-PSSession extremidade.

Para saber mais sobre configurações de sessão, confira about_Session_Configurations.

Locais de rede do Windows

A partir do Windows PowerShell 3.0, o cmdlet pode habilitar a Enable-PSRemoting comunicação remota nas versões 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 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 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 nas versões 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 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.

No Windows PowerShell 2.0, nas versões de servidor do Windows, Enable-PSRemoting o cria regras de firewall que permitem o acesso remoto em todas as redes.

No Windows PowerShell 2.0, nas versões cliente do Windows, Enable-PSRemoting o cria regras de firewall somente em redes privadas e de domínio. Se o local de rede for público, Enable-PSRemoting falhará.

Executar como administrador

Os privilégios de administrador são necessários para as seguintes operações remotas:

  • Estabelecer 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.
  • Visualizando e alterando as configurações do WS-Management 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 for membro do grupo Administradores no computador local.

Ao iniciar o Windows PowerShell a partir de outro programa, como cmd.exeo , use a opção Executar como administrador para iniciar o programa.

Como configurar seu computador para comunicação remota

Os computadores que executam qualquer versão com suporte do Windows podem estabelecer conexões remotas e executar comandos remotos no PowerShell sem qualquer 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 as 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 Enable-PSRemoting cmdlet.

Por padrão, os recursos de comunicação remota do PowerShell têm suporte do 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 do 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 diretivas no computador local estão em vigor. Quando você estiver usando a conexão, as diretivas no computador remoto estarão em vigor.

Confira também