about_Remote_Requirements

Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0

TÓPICO

about_Remote_Requirements

DESCRIÇÃO BREVE

Descreve os requisitos de sistema e os requisitos de configuração para executar comandos remotos em Windows PowerShell®.

DESCRIÇÃO LONGA

Este tópico descreve os requisitos do sistema, requisitos do usuário e os requisitos de recursos para estabelecer conexões remotas e executar comandos remotos no Windows PowerShell. Ele também fornece instruções para configurar operações remotas.

Observação: Muitos cmdlets (incluindo os cmdlets Get-Service, Get-Process, Get-WMIObject, Get-EventLog e Get-WinEvent) obtêm objetos de computadores remotos usando métodos do Microsoft .NET Framework para recuperar os objetos. Eles não usam a infraestrutura de comunicação remota do Windows 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 Windows PowerShell com comunicação remota, leia a descrição do parâmetro ComputerName dos cmdlets.

REQUISITOS DO SISTEMA

Para executar sessões remotas em Windows PowerShell 3.0, os computadores locais e remotos devem ter o seguinte:

  • -- Windows PowerShell 3.0 ou posterior

  • -- O Microsoft .NET Framework 4.0 ou posterior

  • -- Windows Remote Management 3.0

Para executar sessões remotas em 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

  • -- Windows Remote Management 2.0

Você pode criar sessões remotas entre computadores que executam o Windows PowerShell 2.0 e o Windows PowerShell 3.0. No entanto, os recursos que são executados apenas no Windows PowerShell 3.0, como a capacidade de desconectar e reconectar sessões, estão disponíveis apenas quando ambos os computadores estão executando o Windows PowerShell 3.0.

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

O Windows Remote Management (WinRM) 3.0 e o Microsoft .NET Framework 4.0 estão incluídos no Windows 8, Windows Server 2012 e versões mais recentes do sistema operacional Windows. O WinRM 3.0 está incluído no Windows Management Framework 3.0 para sistemas operacionais mais antigos. Se o computador não tiver a versão necessária do WinRM ou do Microsoft .NET Framework, a instalação falhará.

PERMISSÕES DE USUÁRIO

Para criar sessões remotas e executar comandos remotos, por padrão, o usuário atual deve ser um 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 (ou em uma sessão remota no computador local) são estabelecidas pela configuração de sessão (também conhecida como um "ponto de extremidade") no computador remoto ao qual a sessão se conecta. 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, Microsoft.PowerShell32 e Microsoft.PowerShell.Workflow, permitem acesso somente aos membros do grupo Administradores.

Se o usuário atual não tem permissão para usar a configuração da sessão, o comando para executar um comando (que usa uma sessão temporária) ou para criar uma sessão persistente no computador remoto falhará. O usuário pode usar o parâmetro ConfigurationName de cmdlets que criar sessões para selecionar uma configuração de sessão diferente, se disponível.

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 e criando novas configurações de sessão com descritores de segurança diferentes.

Para obter mais informações sobre configurações de sessão, consulte about_Session_Configurations (https://go.microsoft.com/fwlink/?LinkID=145152).

LOCAIS DE REDE DO WINDOWS

A partir de Windows PowerShell 3.0, o cmdlet Enable-PSRemoting pode habilitar a comunicação remota em versões de cliente e servidor do Windows em redes públicas, de domínio e privadas.

Nas versões de servidor do Windows com redes privadas e de domínio, o cmdlet Enable-PSRemoting cria regras de firewall que permitem o acesso remoto sem restrições. 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 está habilitada por padrão em versões de servidor do Windows em redes públicas, mas o Enable-PSRemoting reaplica a regra caso ela tenha sido alterada ou excluída.

Nas versões de cliente do Windows com redes privadas e de domínio, por padrão, o cmdlet Enable-PSRemoting cria regras de firewall que permitem o acesso remoto sem restrições.

Para habilitar o acesso remoto em versões de cliente do Windows com redes públicas, use o parâmetro SkipNetworkProfileCheck do cmdlet Enable-PSRemoting. Ele também 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 cmdlet Set-NetFirewallRule no módulo NetSecurity. Execute o seguinte comando:

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

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

Em Windows PowerShell 2.0, nas versões de cliente do Windows, o Enable-PSRemoting cria regras de firewall apenas em redes privadas e de domínio. Se o local de 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:

  • -- Estabelecimento de uma conexão remota no computador local. Isso é conhecido como um cenário de "loopback".

  • -- Gerenciamento de configurações de sessão no computador local.

  • -- Exibição e alteração das configurações do WS-Management no computador local. Essas são as configurações no nó LocalHost da unidade WSMAN: .

Para executar essas tarefas, você deve iniciar o Windows PowerShell com a opção "Executar como administrador" mesmo se você for um membro do grupo Administradores no computador local.

No Windows 7 e no Windows Server 2008 R2, inicie o Windows PowerShell com a opção "Executar como administrador":

  • 1. Clique em Iniciar, clique em Todos os programas, clique em Acessórios e, em seguida, clique na pasta Windows PowerShell.

  • 2. Clique com o botão direito do mouse em Windows PowerShell e, em seguida, clique em "Executar como administrador".

Para iniciar o Windows PowerShell com a opção "Executar como administrador":

  • 1. Clique em Iniciar, clique em Todos os programas, e clique na pasta Windows PowerShell.

  • 2. Clique com o botão direito do mouse em Windows PowerShell e, em seguida, clique em "Executar como administrador".

A opção "Executar como administrador" também está disponível em outras entradas do Windows Explorer para Windows PowerShell, incluindo atalhos. Clique com o botão direito do mouse no item, em seguida clique em "Executar como administrador".

Quando você inicia 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 todas as versões com suporte do Windows podem estabelecer conexões remotas e executar comandos remotos em Windows PowerShell sem qualquer configuração. No entanto, para receber conexões e permitir que usuários criem sessões do Windows PowerShell locais e remotas gerenciadas pelo usuário ("PSSessions") e executem comandos no computador local, você deve habilitar Windows PowerShell para comunicação remota no computador.

O Windows Server 2012 e versões mais recentes do Windows Server estão habilitadas para Windows PowerShell com comunicação remota por padrão. Se as configurações forem alteradas, você poderá restaurar as configurações padrão executando o cmdlet Enable-PSRemoting.

Em todas as outras versões com suporte do Windows, você precisa executar o cmdlet Enable-PSRemoting para habilitar Windows PowerShell com comunicação remota.

Os recursos de comunicação remota do Windows PowerShell têm suporte pelo serviço WinRM, que é a implementação da Microsoft do protocolo WS-Management (Serviços Web para Gerenciamento). Quando você habilita o Windows PowerShell para comunicação remota, 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 Windows PowerShell para receber comandos remotos:

  • 1. Inicie o Windows PowerShell com a opção "Executar como administrador".

  • 2. No prompt de comando, digite: Enable-PSRemoting

Para verificar se essa 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 vai criar uma sessão no computador local e retornar um objeto que representa a sessão. O resultado deve ser semelhante a seguinte saída de exemplo:

          C:\PS> new-pssession

          Id Name        ComputerName    State    ConfigurationName
          -- ----        ------------    -----    -----
          1  Session1    localhost       Opened   Microsoft.PowerShell

Se o comando falhar, para obter assistência, consulte about_Remote_Troubleshooting.

ENTENDENDO AS POLÍTICAS

Ao trabalhar remotamente, você usa duas instâncias do Windows PowerShell, uma no computador local e uma no computador remoto. Como resultado, seu trabalho é afetado pelas políticas do Windows e pelas políticas do Windows PowerShell nos computadores locais e remotos.

Em geral, antes de se conectar e enquanto estiver estabelecendo a conexão, as políticas no computador local estão em vigor. Quando você estiver 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