Infra - Exchange Server

Acessando Exchange Management Shell remotamente através do PowerShell 2.0

Com este tutorial mostramos como acessar remotamente o Exchange Server 2010 Shell usando apenas uma console do PowerShell 2.0.

por Anderson Patricio



Autor: Anderson Patricio / Rodrigo Rodrigues

Overview

O Exchange Server 2010 é baseado no PowerShell 2.0 e uma das novas características é o acesso remoto. Neste tutorial vamos mostrar como conectar no Exchange Server 2010 remotamente usando uma simples sessão do PowerShell 2.0 em um Windows Server 2008 R2.

O Exchange Server 2010 Shell possui dois formatos: local e remoto. Na verdade somente a função do Edge tem um Shell local, em qualquer outra regra podemos perceber que quando clicamos no Exchange Management Shell ele abre uma sessão remoto para um Exchange Server 2010. Esta mudança se deve a introdução do Windows Remote Management 2.0 que cria a sessão remota para nós administradores. Com estas novas funcionalidades podemos gerenciar múltiplas florestas e etc.

Solução

No Exchange Server 2007 precisávamos instalar as ferramentas administrativas para podermos ter acesso ao Exchange Management Shell e este processo não é tão simples devido aos requisitos de instalação do Management Tools. No entanto a versão 2010 permite gerenciamento remoto sem a instalação de ferramentas administrativas para acesso ao Shell, você continua sendo obrigado a instalar caso queira usar o Exchange Management Console.

Em muitos casos o administrator precisar rodar apenas um ou dois comandos e podemos fazer isto de qualquer PowerShell 2.0, esteja ele na estação cliente ou em um servidor. Para usuários que possuem Windows 7 e Windows 2008 R2 não é necessário nenhuma configuração adicional, apenas abrir o Shell e usar os comandos que mostraremos a seguir.
Nota: Para usuários usando Windows XP, Vista, 2003 ou 2008 é necessário remover a versão atual do PowerShell e instalar a versão 2.0.

O processo para criar uma nova sessão no Exchange Server 2010 é muito simples, apenas 2 comandos, como segue na sintaxe abaixo. Neste exemplo abaixo estamos usando as credenciais do usuário atualmente logado.

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<Server-Name>/PowerShell -Authentication Kerberos

Import-PSSession $Session

Caso você tenha recebido algum erro você pode conferir a sessão seguinte sobre erros comuns. Caso não tenha recebido você já está no Exchange Server 2010, vamos fazer uns testes rodando cmdlets utilziados pelo Exchange, tais como Get-Mailbox e Get-ExchangeServer.

Para fechar a sessão remota, devemos executar o segundo cmdlet: Remove-PSSession $Session

Todo o processo mostrado acima é mostrado na figura abaixo:

Erros comuns...

Um dos principais erros é relacionado ao usuário não ter permissão de executar scripts, uma mensagem do tipo: "... execution of scripts is disabled on this system..." você só precisa trocar a política de execução através do seguinte cmdlet:

Testando o Remote Powershell...

Temos um novo cmdlet no Exchange Server 2010 feito especialmente para testar a conectividate do Remote Powershell. Antes de executarmos o mesmo, precisamos rodar o Script New-TestCASConnectivityUser.ps1 que é encontrado no diretório Scripts dentro do diretório de instalação do Exchange.

No exemplo abaixo estamos usando o parâmetro "-OU dominio.local/OUName/OUName" para especificar onde o usuário de teste será criado. Feito isso o script vai pedir uma senha inicial e estamos prontos.

Agora é hora de validar a conexão com o CAS Server, e este mesmo cmdlet vai testar a conexão com o CAS e também do CAS contra o Mailbox Server. Caso não identificamos o Mailbox Server todos os Mailboxes do site local serão testados através deste cmdlet:

Test-PowershellConnectivity -ClientAccessServer <CAS-Name> -VirtualDirectoryName "PowerShell (Default Web Site)"

O resultado do processo pode ser visto na figura abaixo (lembrando que adicionamos o | fl ao final do cmdlet para mostrar mais detalhes).

Conclusão

Com este tutorial mostramos como acessar remotamente o Exchange Server 2010 Shell usando apenas uma console do PowerShell 2.0.

Anderson Patricio

Anderson Patricio - Trabalha com informática desde 1995, é consultor Microsoft em projetos de Active Directory, Exchange e ISA pela Quattuor Informática em Porto Alegre.
Certificações: MCSE +M +S 2003, MCSE +M +S 2000, MCSA +M +S 2003, MCSA +M +S 2000
Blog: http://spaces.msn.com/members/andersonpatricio/