about_Remote_Requirements

Breve descrição

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 computadores remotos, conexões RPC ou sessões WMI para conexões remotas. Eles não usam a infraestrutura remota do PowerShell. Os requisitos deste 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 Gerenciamento Remoto do Windows (WinRM), que é 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 ser totalmente suportado, você deve estar usando WMF 5.1. Para obter mais informações sobre o suporte a WMF, consulte Windows Management Framework (WMF).

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 que são executados somente 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 executam o Windows PowerShell 3.0 e superior.

Para localizar o número da versão de uma versão instalada do PowerShell, use a $PSVersionTable variável automática.

O PowerShell 7 e superior também oferece suporte à comunicação remota do PowerShell sobre SSH. A comunicação remota do PowerShell sobre 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 utilizador

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 dos cmdlets para se conectar a diferentes pontos de *-PSSession extremidade.

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 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 apenas 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 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. Esta opção cria uma regra de firewall que permite o acesso remoto apenas a partir 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 seguinte comando:

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

Nota

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, 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 cliente do Windows, Enable-PSRemoting 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 de comunicação remota:

  • Estabelecer uma ligação remota ao computador local. Isso é comumente conhecido como um cenário de "loopback".
  • Gerenciando configurações de sessão no computador local.
  • Exibindo 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 que seja 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 o computador para comunicação remota

Os computadores que executam qualquer versão suportada 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 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á restaurá-las executando o Enable-PSRemoting cmdlet.

Por padrão, os recursos de comunicação remota do PowerShell são suportados pelo serviço WinRM, que é a implementação da Microsoft do protocolo WS-Management (Web Services for Management). 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. Na linha de comandos, escreva: 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.

Compreender as 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 diretivas no computador local estão em vigor. Quando você estiver usando a conexão, as diretivas no computador remoto estarão em vigor.

Consulte também