Ícone do site CooperaTI

Instalar e configurar o Windows PowerShell Web Access no Windows Server 2019

Todo profissional de TI deve aprender alguma linguagem de programação, principalmente Powershell, pois é a base para automatizar tarefas no Windows.

A maioria dos meus artigos tem um comando ou outro de Powershell.


➤ Conheça nossas soluções em nuvem: https://k2cloud.com.br


 

Para começar a aprender sobre Powershell, consulte aqui a sua documentação oficial.

Introduzido pela primeira vez no Windows Server 2012, o Windows PowerShell (agora chama-se somente Powershell) Web Access age como um gateway do PowerShell, oferecendo um console baseado na Web do PowerShell e destinado a um computador remoto. Ele permite executar comandos e scripts no console do PowerShell em um navegador da Web, sem a necessidade de instalar o PowerShell, software de gerenciamento remoto ou plug-in de navegador no dispositivo cliente.

 

Mas, porque eu deveria ter o Powershell Web Access instalado no meu ambiente?

Imagine a seguinte situação: Você está de férias em um lugar com acesso à internet. O funcionário da empresa para qual você presta serviço acabou de te informar que uma máquina virtual desligou, justamente a máquina virtual mais importante, que executa o sistema ERP da sua empresa. Você só tem um computador com um navegador instalado. O funcionário que está na empresa não conhece nada de informatica e você é o responsável pela TI da empresa. Na empresa não tem nenhum aplicativo de acesso remoto, como Teamviwer, por questão de custo de licenciamento.

O que fazer nesta hora?

(A) Cancelar as férias e pegar um avião de volta para empresa, apenas para executar esta tarefa.

(B) Demorar horas para ensinar o funcionário a instalar um Teamviwer no servidor host de Hyper-V, passando para ele usuário e senha do administrador.

(C) Relaxar, pois você tem o Powershell Web implantado e pode acessar e inicializar a máquina virtual.

Se a letra “C” não é a sua realidade atual, não se preocupe. Vamos resolver isso!

 

Arquitetura Powershell Web Access


➤ Conheça nossas soluções em nuvem: https://k2cloud.com.br


 

 

 

O único componente necessário é o PowerShell Web Access Gateway. Uma vez provisionado, podemos permitir os seguintes acessos:

Acesso individual a um servidor individual.

Acesso individual a um grupo de servidores.

Acesso a um servidor individual agrupado.

Acesso a um grupo de servidores agrupado.

 

Requisitos de execução do PowerShell Web Access

O PowerShell Web Access pode ser instalado e configurado nos seguintes sistemas operacionais: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 e Windows Server 2019.

 

Suporte a navegadores e dispositivos clientes

O PowerShell Web Access dá suporte a alguns navegadores da Internet. Embora navegadores móveis não tenham suporte oficialmente, muitos poderão executar o console do Windows PowerShell baseado na Web. Provavelmente. outros navegadores que aceitam cookies, executam JavaScript e abrem sites HTTPS, também funcionam, mas não foram oficialmente testados.

 

Navegadores de desktop compatíveis:

Windows Internet Explorer para Microsoft Windows 8.0, 9.0, 10.0 e 11.0

Mozilla Firefox 10.0.2

Google Chrome 17.0.963.56m para Windows

Apple Safari 5.1.2 para Windows

Apple Safari 5.1.2 para Mac OS

 

Dispositivos ou navegadores móveis minimamente testados:

Windows Phone 7 e 7.5

Navegador Google Android WebKit 3.1 para Android 2.2.1 (Kernel 2.6)

Apple Safari para iPhone com sistema operacional 5.0.1

Apple Safari para iPad 2 com sistema operacional 5.0.1

 

Requisitos de navegador

Para usar o console do Windows PowerShell Web Access baseado na Web, os navegadores devem executar os procedimentos a seguir.

1 – Permitir cookies do site do gateway do Windows PowerShell Web Access.

2 – Abrir e ler páginas HTTPS.

3 – Abrir e executar sites que usam JavaScript.

 

Observação: Como a documentação oficial encontra-se desatualiza, será necessário testar os navegadores e dispositivos clientes.

 

Instalação, configuração do Gateway e configuração de uma regra de autorização restritiva.

 1. Implantação rápida recomendada.

Podemos instalar o gateway do Windows PowerShell Web Access em um servidor que está executando o Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 e Windows Server 2019 usando o cmdlets do PowerShell ou o assistente “Adicionar Funções e Recursos”, que é aberto no Gerenciador do Servidor. Para rápida instalação e configuração, use os cmdlets do PowerShell conforme descrito abaixo.

 

Observação: Todos os procedimentos de instalação e configuração também serão demostrados no vídeo.

 

1.1 Instalar usando o Gerenciamento do Servidor.

1.2 Instalar o Windows PowerShell Web Access.

Execute o Powershell ou PowerShell ISE como Administrador e o seguinte cmdlet:

Pronto! Instalação concluída. Agora chegou a hora de configurar o Powershell Web Access.

 

2. Configurar o Gateway.

O cmdlet Install-PswaWebApplication é uma maneira rápida de configurar o Windows PowerShell Web Access. Embora você possa adicionar o parâmetro UseTestCertificate ao cmdlet Install-PswaWebApplication e instalar um certificado SSL auto assinado para fins de teste, isso não é seguro. Para um ambiente de produção seguro, sempre use um certificado SSL válido que foi assinado por uma autoridade de certificação (CA). Os administradores podem substituir o certificado de teste por um certificado assinado de sua escolha, usando o console do Gerenciador do IIS.

Observação: Vamos demostra apenas a configuração Gateway usando um certificado auto assinado. Para um ambiente de produção seguro, recomendamos o uso de um certificado válido que foi assinado por uma CA. Para saber como instalar um certificado assinado por uma CA, consulte o link da documentação oficial que está no final do artigo em “Referências”.

 

Para configurar o Gateway utilizando o certificado auto assinado, execute o Powershell e insira o seguinte cmdlet:

 

3. Configurar uma regra de autorização restritiva.

Para liberar o acesso ao PSWA para todos os usuários e computadores, execute o seguinte cmdlet:

Observação: Não recomendo liberar para qualquer usuário e computador o acesso ao Powershell Web. Somente para fins de teste.

 

Agora vamos aprender a liberar usuários e computadores específicos.

No exemplo a seguir, um usuário nomeado gabriel.luiz no domínio Contoso ganha acesso para gerenciar o computador ADDS e usa uma configuração de sessão nomeada Microsoft.PowerShell.

Execute o Powershell ou PowerShell ISE e insira o seguinte cmdlet:

 

Para verificar se as regras foram criadas, digite o seguinte cmdlet:

As duas regras criadas aparecem.

 

Para remover a regra, utilize o cmdlet Get-PswaAuthorizationRule para verificar a ID da regra que você deseja deletar e depois execute o seguinte cmdlet para deletar a regra:

Pronto! A regra com ID 0 foi deleta.

 

Agora vamos demostrar como acessar o Powershell Web usando uma configuração existente: Microsoft.PowerShell.

Para isso, abra o seu navegador web e digite o seguinte endereço:

https://<hostname>/pswa

Substitua o campo <hostname> pelo nome do servidor no qual o Powershell Web foi instalado. Neste exemplo, será o servidor com o hostname POWERSHELL.

https://powershell/pswa

Como a configuração de acesso permite somente acesso ao servidor com hostname ADDS, se você tentar acessar outro servidor, como, por exemplo, o servidor com hostname RAS, o acesso será negado, pois ele não foi autorizado. Segue uma demonstração abaixo.

 

Referências

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh831611(v=ws.11)

https://docs.microsoft.com/en-us/previous-versions//hh918342(v=technet.10)?redirectedfrom=MSDN

https://blogs.technet.microsoft.com/fromthefield/2015/02/18/powershell-web-access-a-walkthrough/

 

Script

Os cmdlets apresentados no vídeo está disponível para download aqui no meu GitHub. O script tem a explicação de todos os comandos para implantar e configurar o Windows PowerShell Web Access no Windows Server 2019.

 

Vídeo

No vídeo, você pode ver todos os passos para implantar e configurar o Windows PowerShell Web Access no Windows Server 2019.

Sair da versão mobile