Customizando o PowerShell Web Access (PSWA) para rodar Exchange Shell

Por Rover Marinho

Outubro 2012

Introdução

Neste tutorial iremos demonstrar como utilizar o incrível recurso do Windows PowerShell Web Access com os CMDLETs do Exchange Shell, este é um importante recurso que administradores poderão utilizar para gerenciar seus ambientes de forma remota.

É muito importante que você leia o artigo anterior que explica para que serve e como configurar o Windows PowerShell Web Access. Acesse no Blog: http://bit.ly/QV1CVC ou no Technet Wiki em Português: http://bit.ly/PoGCGv.

Vamos lá!

Aplica-se

Este artigo aplica-se ao Windows Server 2012 e Exchange Server.

Nesta versão utilizamos o Exchange Server 2013 para habilitar o recurso.

Habilitando a sessão do PSWA com CMDLETs do Exchange

Para entendermos melhor, ao efetuarmos um acesso remoto, precisamos customizar a sessão para que esta tenha acesso ao recurso de CMDLETs do Exchange Server, para isto utilizaremos alguns comandos em powershell, vale lembrar que ao final deste artigo, iremos disponibilizar o script para que você possa executá-lo diretamente de sua interface remota, não tendo mais a necessidade de digitar as linhas demonstradas abaixo.

  1. Acesse o seu servidor gateway de PSWA, lembrando que o acesso deverá ser feito utilizando o endereço FQDN do servidor com https. Uma tela idêntica à demonstrada abaixo será aberta.

    JJ681652.5893440CC2B79F40933659C7D85B2052(pt-br,TechNet.10).png

  2. Assim que preencher os dados de acesso, informe o nome do servidor Exchange que devemos acessar o console remoto, em nosso caso estamos usando o endereço Srv-Ex01. Após isto a sessão remota será aberta para inserirmos os comandos. Repare que estamos remotamente no servidor SRV-Ex01, com o usuário administrator (ambiente teste).Neste momento iremos inserir os comandos linha a linha, o processo completo será demonstrado na figura abaixo, após isto discutiremos item a item as linhas utilizadas.

    JJ681652.6FCC61256071D3F190060EA91A24D749(pt-br,TechNet.10).png

  3. Neste momento iremos inserir os comandos linha a linha, o processo completo será demonstrado na figura abaixo, após isto discutiremos item a item as linhas utilizadas.

    JJ681652.2054FDD389EA2F4FE639C99D22C22C25(pt-br,TechNet.10).png

  4. Iniciaremos com o processo para criarmos uma variável dentro de nossa sessão, este processo é necessário para que possamos autenticar com permissões administrativas a inserção dos CMDLETs. Digite o comando demonstrado abaixo:

    $Cred = Get-Credential 
    

    Neste momento a variável irá solicitar a autenticação do objeto solicitando as credenciais de usuário e senha conforme a imagem abaixo (retirada da imagem principal).

    JJ681652.4C427E41426870B450DFFFAA7D5C8335(pt-br,TechNet.10).png

  5. Neste momento iremos criar uma variável com a nova sessão e informaremos ao PowerShell Web Access onde deverá utilizar os locais para inserção dos comandos em PowerShell dentro do Exchange. Utilizaremos o comando demonstrado na imagem abaixo:

    JJ681652.6EE9461F124A3DA58203198995A71920(pt-br,TechNet.10).png

    Digite os comandos como demonstrado abaixo:

    $Sessao = New-PSSession – ConfigurationName Microsoft.Exchange –ConnectionUri http://srv-ex01.shequinah.local/powershell/ -Authentication Kerberos –Credential $Cred
    
  6. Agora que já criamos a variável de sessão com o comando New-PSSession e já incluímos valores na mesma, vamos importar esta variável dentro de nossa sessão. Siga os passos demonstrados abaixo:

    Import-PSSession
    

    Após a importação, iremos receber uma resposta do PowerShell com os dados abaixo demonstrados.

    JJ681652.1759C421C4ECC9ADA8487A36435D365B(pt-br,TechNet.10).png

  7. Agora podemos utilizar os comandos de CMDLETs do Exchange dentro do prompt remoto. Na imagem abaixo buscamos a informação (Get-AcceptDomain) dos domínios do Exchange, após isto inserimos um novo domínio (New-AcceptDomain) e validamos se os comandos foram efetivamos com êxito. Verifique na imagem abaixo que todos os comandos foram efetivados com sucesso.

    JJ681652.5D193B94FB92A99816392B523C507DCE(pt-br,TechNet.10).png

    Neste momento já podemos inserir comandos e gerenciar nosso ambiente de Exchange Server, remotamente.

Customizando a sessão do PSWA com CMDLETs do Exchange com Script

Agora que já conhecemos todos os passos para execução do CMDLET de Exchange, através de uma sessão remota, vamos customizar um script para que economizemos tempo, assim todas as vezes que fizermos o acesso não será necessário digitar todos os comandos novamente.

Vale lembrar que o processo pode ser feito com variáveis de ambiente que não sejam voláteis, porém como estamos trabalhando com um conceito de gateway de PowerShell, prefiro que em todos os momentos você possa executar as linhas demonstradas ou o script evitando que sessões possam ser utilizadas por pessoas sem o devido conhecimento.

  1. Digite o código abaixo e salve este arquivo dentro do servidor em um local de fácil acesso, estou utilizando o Windows PowerShell ISE do Windows Server 2012.

    $Cred = Get-Credential
    $Sessao = New-PSSession – ConfigurationName Microsoft.Exchange –ConnectionUri http://servidor.fqdn/powershell/ -Authentication Kerberos –Credential $Cred
    Import-PSSession
    
  2. Neste momento o código digitado ficará idêntico ao demonstrado na imagem abaixo:

JJ681652.ED9DC10A78F477D1F173A43CD5459688(pt-br,TechNet.10).png

  1. Salve este arquivo com a extensão *.ps1 e armazene em um local de sua confiança.
  2. Agora sempre que fizer um acesso utilizando o Windows PowerShell Web Access (PSWA), basta executar o script para que sua sessão tenha os comandos do Exchange.

Que este artigo possa auxiliar em muito, sua gestão e principalmente controle de seu ambiente Exchange.

| Home | Artigos Técnicos | Comunidade