AP1453 - Acessando Exchange Management Shell remotamente através
do PowerShell 2.0
| Autor: |
Anderson Patricio / Rodrigo Rodrigues |
| Publicação: |
01/Jul/2010 |
| Este tutorial se aplica a: |
Exchange Server 2010 |
| Compartilhe este artigo: |
 |
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.
Tutoriais relacionados:
AP1439 - Instalando
o Exchange Server 2010 RTM
AP1134 -Atualizando
o OCS 2007 R2 através do Windows Update

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:

Um
outro erro comum é relacionado a permissões, o usuário para acessar via
PowerShell precisa ter a propriedade RemotePowerShellEnabled através do
Set-User cmdlet. Basicamente este é a sintaxe do comando a ser utilizado:
Set-User <nome-do-usuario> -RemotePowerShellEnabled
$true
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. |