Powershell

Exchange 2010 para 2013 – Parte 5

Introdução

Na parte 4 mostramos a instalação do Exchange 2013. Nesse artigo vamos mostrar os próximos passos para a coexistência e atualização do ambiente.

Ambiente em coexistência

Após a instalação do Exchange 2013 no ambiente 2010, já estamos trabalhando em um cenário chamado de coexistência. Com a conta criada na parte 4 da série, podemos usar para administrar e alterar as opções desejadas no Exchange 2013.

Diferente do Exchange 2010, a administração do Exchange 2013 é feita através do browser, usando o Exchange Admin Center (EAC). Para gerenciar contas de usuários, inclusive do seu ambiente 2010, deve usar essa console.

Configurando os diretórios virtuais

O próximo passo agora é configurar os diretórios virtuais do IIS. Um ponto muito importante nesse tipo de transição, quando você parte da versão 2010 do Exchange, é que não precisa de um nome Legacy, como nas versões anteriores. Se você partir do Exchange 2007 ainda irá precisar, mas essa novidade partindo do 2010 torna muito mais simples a transição.

Muito importante checar esse artigo do Blog Technet, relacionado às URLs:

Ambiguous URLs and their effect on Exchange 2010 to Exchange 2013 Migrations

Nesse caso vamos utilizar as mesmas URLs que estão operando hoje no ambiente produtivo, pois vamos manter o nome e o mesmo certificado.

Vamos olhar hoje o ambiente do lab como está configurado no Exchange 2010, através do EAC do Exchange 2013.

image

Vamos verificar primeiro o diretório OWA. Veja que configurei o endereço https://autodiscover.msitpro.com.br/owa, este será nosso endereço de acesso ao OWA, que é também o nosso endereço de autodiscover. Usei esse nome para utilizar um certificado digital válido gratuito (https://www.startssl.com/) Winking smile

image

Agora vamos acessar o diretório virtual de um dos servidores Exchange 2013, conforme imagem abaixo.

image

Veja que o padrão da instalação é preencher a URL interna com o nome do servidor, e a URL externa vazia.

O que desejamos nessa fase é utilizar o mesmo valor para ambas as versões, pois iremos logo em seguida, alterar todo o fluxo de e-mails e de acesso das URLs para o Exchange 2013, que irá fazer o proxy da requisição para o Exchange 2010 caso a caixa do usuário ainda não tenha sido migrada. O Exchange determina qual versão de servidor está hospedada essa mailbox e faz o proxy.

Eu posso simplesmente copiar os valores atuais e colar para o novo servidor, conforme imagem abaixo:

image

E também posso configurar via linha de comando. Executando o comando abaixo, tenho como resultado os valores para URL do diretório OWA desse servidor.

Get-OWAVirtualDirectory -Identity "owa (Default Web Site)"  | fl name,*url*

image

Vamos agora rodar o comando para configurar esse diretório.

Set-OWAVirtualDirectory -Identity "owa (Default Web Site)" -InternalUrl "https://autodiscover.msitpro.com.br/owa" -ExternalUrl https://autodiscover.msitpro.com.br/owa

image

Veja que ele já te alerta, que se você alterar a URL do OWA, deverá alterar também o diretório ECP.

image

Vamos verificar novamente com o seguinte comando.

Get-OWAVirtualDirectory -Identity "owa (Default Web Site)"  | fl name,InternalURL,ExternalURL

image

Vamos verificar visualmente se essa alteração surtiu efeito.

image

Vamos ter que configurar os demais diretórios, para isso segue um artigo Technet de referência.

http://technet.microsoft.com/en-us/library/hh529912(v=exchg.150).aspx

OutlookAnywhere

Alguns passos adicionais de coexistência do Outlook Anywhere serão mostrados em um artigo posterior.

Veja que o Outlook Anywhere fica nas propriedades de servidor.

image

Vamos acessar as propriedades do servidor LAB2-MX20131.

image

Vamos agora rodar o comando para troca da URL.

Get-OutlookAnywhere | Set-OutlookAnywhere -InternalHostname "autodiscover.msitpro.com.br" -InternalClientAuthenticationMethod Ntlm -InternalClientsRequireSsl $true -ExternalHostname "autodiscover.msitpro.com.br" -ExternalClientAuthenticationMethod Basic -ExternalClientsRequireSsl $true -IISAuthenticationMethods Negotiate,NTLM,Basic

Verifique novamente via EAC.

image

ActiveSyncVirtualDirectory

Set-ActiveSyncVirtualDirectory –Identity “lab2-mx20131\Microsoft-Server-ActiveSync (Default Web Site)" -ExternalUrl https://autodiscover.msitpro.com.br/Microsoft-Server-ActiveSync -InternalUrl https://autodiscover.msitpro.com.br/Microsoft-Server-ActiveSync

WebServicesVirtualDirectory

Set-WebServicesVirtualDirectory –Identity “lab2-mx20131\EWS (Default Web Site)" -ExternalUrl https://autodiscover.msitpro.com.br/EWS/Exchange.asmx –InternalUrl https://autodiscover.msitpro.com.br/EWS/Exchange.asmx

OABVirtualDirectory

Set-OABVirtualDirectory –Identity “lab2-mx20131\OAB (Default Web Site)" -ExternalUrl https://autodiscover.msitpro.com.br/OAB –InternalUrl https://autodiscover.msitpro.com.br/OAB

ECPVirtualDirectory

Set-EcpVirtualDirectory "lab1-mx20131\ECP (Default Web Site)" -ExternalUrl https://autodiscover.msitpro.com.br/OAB -InternalURL https://autodiscover.msitpro.com.br/OAB

ClientAccessServer

Set-ClientAccessServer -Identity lab2-mx20131 -AutoDiscoverServiceInternalURI https://autodiscover.msitpro.com.br/AutoDiscover/AutoDiscover.xml

Essa última opção você não consegue visualizar nos diretórios virtuais, pois se trata da URL interna do serviço de desoberta automática para os clientes internos.

Por padrão os clientes internos buscam primeiro pelo registro SCP no Active Directory, então configuramos aqui o nome que responde por todos os nossos servidores CAS, ou Multi Role, ao invés de somente o nome do servidor. Caso você possua um HLB, deve colocar o nome que corresponde aos seus servidores Exchange 2013 balanceados.

Veja abaixo o processo de descoberta para os clientes Outlook internos.

http://technet.microsoft.com/pt-br/library/bb125157(v=exchg.150).aspx

Agora que você já conhece todo o processo de configuração dos diretórios virtuais, fica a dica de como automatizar todo o processo via Script. A referência é do blog do MVP Paul Cunningham.

http://exchangeserverpro.com/exchange-server-2010-2013-migration-configuring-client-access-servers/

Primeiro você deve liberar a execução de scripts powershell, depois importar o módulo do Exchange para o powershell. Já mostrei como faz isso nesse artigo.

image

Após salvar o conteúdo do script como: ConfigureURLs.ps1, vamos executar no powershell.

ConfigureURLs.ps1 -Server lab2-mx20132 -InternalURL autodiscover.msitpro.com.br -ExternalURL autodiscover.msitpro.com.br

image

Vamos verificar o resultado para o servidor 2.

image

Caso você utilize o POP e/ou IMAP, deve também configurar essas URLs. Para maiores informações sobre POP e IMAP, acesse: http://technet.microsoft.com/pt-br/library/jj657728(v=exchg.150).aspx

Referências:

http://technet.microsoft.com/pt-br/library/bb125157(v=exchg.150).aspx

http://technet.microsoft.com/pt-br/library/jj898583(v=exchg.150).aspx

http://technet.microsoft.com/en-us/library/hh529912(v=exchg.150).aspx

Conclusão

Nesse artigo você viu como configurar os diretórios virtuais no Exchange 2013. No próximo artigo vamos passar para a configuração de certificado digital.

Share

Post to Twitter

O365 – Suporte a múltiplos domínios

Durante a configuração do Office 365 com SSO usando ADFS 3.0 em um cliente, cadastramos inicialmente um domínio sem o parametro –SupportMultipledomain ao converter para federado.

Convert-MsolDomainToFederated –DomainName “cliente.com.br”

Depois tivemos que alterar esse domínio e os demais, para suportar sub domínios. Para isso, tivemos que refazer a configuração.

A primeira coisa a ser feita é abrir o ADFS, ir até Trust Relationships, Relaying Party Trusts e excluir o “Microsoft Office 365 Identity Platform”.

Após isso, rodar o comando a seguir:

Update-MsolFederatedDomain –DomainName “cliente.com.br” –SupportMultipledomain

Após isso, basta converter o novo sub domínio que deseja:

Convert-MsolDomainToFederated –DomainName “filho.cliente.com.br” –SupportMultipledomain

Share

Post to Twitter

O365 – Adicionando um subdomínio

Você pode adicionar um subdomínio no Office 365. Se você já cadastrou e validou seu domínio principal, por exemplo: msitpro.com.br, você pode incluir subdomínios depois, como por exemplo: filho.msitpro.com.br.

Para isso, basta rodar o comando abaixo:

New-MSOLFederatedDomain -DomainName:<subdomain>

Referência:

http://support.microsoft.com/kb/2666578/en-us

Share

Post to Twitter

Exchange 2013 – Mudar o endereço postmaster

Um cliente me perguntou como alterar o endereço de postmaster em uma organização Exchange 2013. É bem simples, segue KB:

http://technet.microsoft.com/en-us/library/bb430765(v=exchg.150).aspx

Via EAC:

In the EAC, navigate to Mail flow > Receive connectors > More options … > Organization transport settings > Delivery tab.

In the External postmaster address field, enter the SMTP email address, for example, postmaster@contoso.com. If you want to return the external postmaster address to the default value, delete any existing value so the field is blank.
When you’re finished, click Save.

image

image

Ou via Shell:

Set-TransportConfig -ExternalPostmasterAddress postmaster@contoso.com

Abs.

Share

Post to Twitter

Importar o módulo do Exchange 2013 para o Powershell

Se você quer importar o módulo de powershell do Exchange para rodar no Powershell ISE, por exemplo, basta rodar o comando abaixo em uma janela do powershell:

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn

Você deve executar o Shell como administrador e configurar o “ExecutionPolicy” para Unrestricted:

Set-ExecutionPolicy Unrestricted

Referência:

http://technet.microsoft.com/en-US/Add-PSSnapin%20Microsoft.Exchange.Management.PowerShell.SnapIn/library/jj150489(v=exchg.150).aspx

Share

Post to Twitter

Dica: E-book PowerShell para IT Pro

Uma dica para os leitores do Blog é o livro ebook gratuito do Daniel Donda. O livro aborda o Powershell com um foco para infraestrutura, que ajuda muito no dia a dia dos IT Pros.

Segue link para o site do Donda:

http://www.mcsesolution.com/Livros/e-book-powershell-para-it-pro.html

Para baixar o ebook clique na página abaixo que será redirecionado:

PowerShell-3.0-Ebook

Recomendo a leitura!

Abs.

Share

Post to Twitter

Quick Tips – Exchange 2013 Copiar Receive Connector

Migração de Exchange 2007/2010 para 2013.
 
Para automatizar a cópia das propriedades do receive connector que já existe no servidor atual e recriá-los no 2013:
 
Rodar no CAS 2013:

New-ReceiveConnector "Conector2010" -Server ServerMBX2013 -Bindings 0.0.0.0:25 -fqdn email.contoso.com -MaxHopCount 60 -MaxLocalHopCount 8 -MaxMessageSize 20971520 -RemoteIPRanges ( Get-ReceiveConnector "Server2010\Conector2010" ).RemoteIPRanges -PermissionGroups ( Get-ReceiveConnector "Server2010\Conector2010" ).PermissionGroups -AuthMechanism ( Get-ReceiveConnector "Server2010\Conector2010" ).AuthMechanism
 

Copia as propriedades:

- RemoteIPRanges

- PermissionGroups

- AuthMechanism

 

OBS: MaxMessageSize = Bytes
 
Mas outros parâmetros podem ser manipulados, segue referência:
http://technet.microsoft.com/en-us/library/bb125139%28v=exchg.150%29.aspx

 

Abs.

Share

Post to Twitter

Quick Tips – Exchange 2010 Shell

Que tal executar um comando powershell, e confirmar cada uma das etapas. Na verdade, executar o comando no modo debug?

Tente isso e veja o resultado:

Test-MAPIConnectivity -Server <MailboxServer> -Debug

Um ótimo parâmetro para aqueles momentos onde o erro não parece fazer sentido…

;)

Share

Post to Twitter

Quick Tips – Exchange 2010 Shell

Quer saber em detalhes o que ocorre em um comando no Exchange Management Shell?

Faça um teste!

Primeiro use o Test-OutlookConnectivity -Protocol TCP para verificar o status da conexão RPC over TCP.

Depois utilize o comando Test-OutlookConnectivity -Protocol TCP – Verbose e compare o resultado.

;)

Share

Post to Twitter

Quick Tips – Exchange 2010 Shell

Você tem uma lista de alias em um .csv/.txt e deseja executar um mesmo comando para cada um deles? Usando dois cmd-lets em conjunto, você irá atingir esse objetivo.

Primeiro importamos o conteúdo, e logo em seguida com o uso do pipe aplicamos o cmd-let desejado em cada um dos alias contido no csv/txt através do loop “foreach”.

No exemplo à seguir, iremos aplicar um novo valor para o parâmetro IssueWarningQuota em cada alias:

printScreen_045

Com uma simples linha você aplicou o comando na lista que ja tinha “em mãos”.

;)

Share

Post to Twitter