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.
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
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:
1 |
Install-WindowsFeature –Name WindowsPowerShellWebAccess -IncludeManagementTools -Restart |
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:
1 |
Install-PswaWebApplication -UseTestCertificate |
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:
1 |
Add-PswaAuthorizationRule -UserName * -ComputerName * -ConfigurationName * |
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:
1 |
Add-PswaAuthorizationRule -UserName Contoso\gabriel.luiz -ComputerName ADDS -ConfigurationName Microsoft.PowerShell |
Para verificar se as regras foram criadas, digite o seguinte cmdlet:
1 |
Get-PswaAuthorizationRule |
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:
1 |
Remove-PswaAuthorizationRule -Id 0 |
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//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.
Há 10 anos atuo na área de TI focado em suporte e administração de infraestrutura, especializado em plataformas Microsoft. Tenho grande experiência em troubleshooting, implantação, configuração e administração de funções e recursos de tecnologia Microsoft. Formado em Redes de Computadores pela faculdade Estácio de Sá de Belo Horizonte.
Comecei a compartilhar o meu conhecimento no ano de 2012, fazendo artigos e vídeos para o meu Blog. Em 2017 comecei a escrever artigos para o portal Cooperati, em 2020 fui premiado como Microsoft MVP, na categoria Cloud and Datacenter Management.
Sou apaixonado em compartilhar o meu conhecimento. Meu lema é: O conhecimento só é válido quando compartilhado.