31 de janeiro de 2008

Notes from the field: como actualizar o Exchange 2007 para o SP1*

*Eu sei que estou a subverter um pouco a ideia de ter um blog em Português ao publicar posts em Inglês, mas a verdade é que fruto do meu pouco tempo disponível, vou ter que mais uma vez fazer um cross-post do meu outro blog. Se alguém se sentir menos confortável com a língua de Shakespeare, podem contactar-me via e-mail.


So far, I did a couple of clean Exchange Server 2007 SP1 installations and they went really, really smoothly. I can say that the setup experience is much better than the RTM version.

Meanwhile, I also had the chance to upgrade existing Exchange Server 2007 RTM version to Service Pack 1. The experience was not so good compared with clean installations, nothing serious, but there are some caveats I would like to share with you.

  1. Read the Release Notes for Exchange Server SP1 and How to Upgrade to Exchange 2007 SP1.
  2. SP1 requires a Schema extension (again). Although the Setup Wizard will do it for you, I strongly recommend that you do it separately. Just follow the instructions from this link: http://technet.microsoft.com/en-us/library/bb125224(EXCHG.80).aspx. The process is identical to the RTM version.
  3. Install .NET Framework 2.0 SP1 *before* running the Exchange 2007 SP1 setup. Remember that you must also install it on your Schema Master in order to extend the Schema from this server.
  4. If you are currently using Forefront Security for Exchange, install Forefront SP1 *before* upgrading Exchange Server 2007 to SP1 (I'll write another post about this subject). Forefront for Exchange SP1 is backward compatible with Exchange 2007 RTM. Read more details at http://blogs.technet.com/fss/archive/2007/11/29/forefront-security-for-exchange-server-with-service-pack-1-is-now-available.aspx.
  5. Upgrade server roles in this order: CAS > HT > UM > Edge > Mailbox.
  6. Before running the SP1 setup, perform the following actions on that server:
    1. Restart the server (this is very important, especially on cluster nodes, since the Setup can run for ages before finishing (the problem has to do with time it takes to register the new performance counters).
    2. Stop all services/processes that can have open handles to performance counters such as MOM Agents.
    3. Restart the Remote Registry service.
    4. Stop all Exchange and Forefront services.
    5. Disable Forefront by running FSCUtility /disable (don't forget to run FSCUtility /enable afterwards).
    6. Start the Windows Firewall/Internet Connection Sharing (ICS) service. This service is disabled by default in Windows, and you must set its Startup type to Manual or Automatic for the service to be started
    7. Run the SP1 setup.
  7. If you're installing SP1 on an SCC cluster, follow the procedures from this link: http://technet.microsoft.com/en-us/library/bb691226(EXCHG.80).aspx (start by doing a restart on each passive node).
  8. If you have previously customized an OWA theme, you'll need to copy the modified files to the new version of OWA (there will be a new folder on each CAS). You may need to do some further customization, since there are new features, such as the monthly view on Calendar.
  9. You cannot uninstall Exchange 2007 SP1. After you install SP1, the only way to remove it is to uninstall Exchange 2007 from the computer

I would also like to share the SP1 setup behavior when it is interrupted:

  • On one occasion (when the Performance counters were taking ages to register) I had to restart the server. Luckily for me, the setup resumed from the stage it was before.
  • On another occasion, I forgot to copy the Scripts folder (it's part of the setup files) to the server where I was installing SP1. The setup stopped because it couldn't find the necessary files. There was no option to retry the operation. When I run setup again, I had the following error:

    The World Wide Web (W3SVC) service is either disabled or not installed on this computer. You must exit Setup, install the required component, then restart the Setup process.

    Setup cannot continue with upgrade because 'C:\Program
    Files\Microsoft\Exchange Server\bin\ExchHelp.chm' is open. Close the file and restart setup.


    I found the solution on this link: http://www.expta.com/2007/10/installing-exchange-2007-sp1-notes-from.html.

TechNet Magazine - Fevereiro 2008

 

A edição de Fevereiro da TechNet Magazine já está disponível para consulta online ou para download no formato HTML Help (.chm) file.

Neste número, o tema central é o Sharepoint, mas também estão lá outros artigos com temáticas mais relacionadas com o Exchange Server, tal como Unified Communications ou PowerShell.

Aqui fica uma pequena lista com os artigos mais interessantes:

  • How Presence Powers OCS 2007 (Rajesh Ramanathan) - Office Communications Server 2007 uses information about user availability to route communications to the most appropriate place—whether it’s sending a voice call, a video conference, an e-mail message, or an IM. See how the OCS 2007 system uses presence to connect endpoints.
  • Plan Your OCS 2007 Voice Deployment (Jochen Kunert and Rui Maximo) - Integrating Office Communications Server 2007 with an existing PBX system can be a challenging task. You need to select an integration scenario, understand call routing, know how to configure user settings, deal with number plans, and more. But don’t worry. This overview will show you what you need to know.
  • Windows PowerShell (Don Jones) - Shell Permissions

30 de janeiro de 2008

1 podcast, 1 white paper, 2 datasheets

A informação técnica disponível na àrea de messaging continua a aumentar. Desta vez, a Microsoft disponibilizou-nos 1 podcast, 1 white paper e 2 datasheets:

  • Podcasts: How Microsoft IT Implemented New Storage Designs for Exchange Server 2007 - How does Exchange Server 2007 enable a large enterprise to increase mailbox quotas globally by a factor of ten and still lower storage costs, reduce maintenance complexities, and simplify data recovery processes? Microsoft IT was able to take advantage of Cluster Continuous Replication (CCR) in new mailbox server designs based on direct attached storage (DAS). Advantages of CCR and DAS over alternative configurations will be discussed along with how MSIT was able to eliminate storage as a single point of failure while at the same time lowering costs to two dollars per gigabyte.
  • HMC 4.0 - Microsoft Exchange Server 2007 Service Pack 1 White Paper - This white paper introduces the Microsoft Exchange Server 2007 Service Pack 1 (SP1) new features related to the Microsoft Solution for Hosted Messaging and Collaboration version 4.0. In particular, it addresses key features in anywhere access, built-in protection, and operation efficiency.
  • Exchange Hosted Services Archive Datasheet - Today’s business demands the need for a centralized, easily accessible and multi-functioning mail repository. Exchange Hosted Archive (EHA) assists with this enterprise goal.
  • Exchange Hosted Services Continuity Datasheet - Microsoft® Exchange Hosted Continuity is a business continuity solution that helps protect and provide continuous access to e-mail for a business and its employees. This datasheet outlines the details and benefits of the Continuity service.

29 de janeiro de 2008

Notes from the field: Transporter Suite

Publiquei um post no meu outro blog com algumas notas sobre a utilização do Transporter Suite para realizar migrações do Lotus Domino para o Exchange Server 2007. Resolvi reproduzir aqui esse mesmo post, embora em Inglês (se alguém não perceber alguma coisa, pode perguntar).


A couple of weeks ago I participated in a migration project which involved a migration from Lotus Domino 7.0 to Exchange Server 2007.

I used the (free) Microsoft tool: Transporter Suite. Transporter Suite has all it takes to perform a full mail (and application) migration from Lotus to Exchange. The latest version is v08.02.0012, but I used the RTM version (if you want to know what's new, read Microsoft Transporter Suite for Lotus Domino Release Notes).

There are several approaches you can take in a similar migration project, but I prefer to place the Exchange Server in front of the Lotus Notes server, adding a non-authoritative SMTP domain and forward messages for the users not yet migrated. The following picture depicts the scenario I used.

Actually you can even make the SMTP domain authoritative for the Exchange Server, it will still forward any unresolved addresses to the Lotus Notes server if you configure a Send Connector.

My personal feeling is that Transporter Suite has lots of space for improvements. Probably there are some commercial tools more powerful and even more stable, but with a little bit of patience and some testing, the tool provided by Microsoft will do the job.

I would like to share my findings, hoping that they might help you. As I mentioned before, there is a new release of Transporter Suite that may have solved some of the problems I faced.

  1. Install the connector components on a server with the Hub Transport (HT) role. Although the documentation mentions that it can be installed on a HT or/and CAS, without the HT role I couldn't create any connections. Here's an excerpt from the official documentation:
    "All connector components (Directory Connector and Free/Busy Connector): Can only be installed on Exchange Server 2007 servers with the Hub and/or Client Access Server (CAS) roles installed; optionally, other roles (such as Mailbox or Unified Messaging) can also be installed."
  2. There's a small misprint on the documentation. You'll need to increase the maximum attachment size by editing the web.config file in the exchweb\EWS subdirectory of the ClientAccess directory on each CAS. The line that you'll need to add is:

    <httpRuntime maxRequestLength="10240" />

    Please don't forget the "/" at the end!
    (that's the misprint)
  3. I had some problems migrating users. The error I had was:

    Summary: 1 item(s). 0 succeeded, 1 failed.
    Elapsed time: 00:00:01

    User1
    Failed

    Error:
    The value "SMTP:User1@DOMAIN.COM" of property "ExternalEmailAddress" is used by another recipient object "DOMAIN.COM/Domino Contacts/User1\/HQ\/Company". Please specify another value.

    Exchange Management Shell command attempted:
    'CN=User1/OU=Sede/O=Company' | move-dominouser -Quiet -DominoDirectoryServer 'SRVNOTES' -GlobalCatalog 'DC01.DOMAIN.COM' -TargetOU '.' -InitialPassword 'System.Security.SecureString' -TargetId 'DOMAIN\User1'

    Elapsed Time: 00:00:01

    I didn't find a way of solving this problem. I think it's related with the timings associated with the remove process of the contact created previously and the subsequent copy of all proxy addresses. So, the solution was to write my own migration code. Here it is, you might find it useful:

       1: '*******************************************************************************
       2: 'migrateUsers.VBS: Copy proxyAddresses from a Domino contact to an AD user
       3: '
       4: 'Version: 0.1    
       5: 'Date:    2008/01/07
       6: 'Author:  RUI SILVA rui.silva(a)live.com
       7: '
       8: '*******************************************************************************
       9:  
      10: Const ForReading = 1
      11: Const ForWriting = 2
      12: Const ADS_SCOPE_SUBTREE = 2
      13: Const ADS_PROPERTY_UPDATE = 2
      14:  
      15: Set objConnection = CreateObject("ADODB.Connection")
      16: Set objCommand = CreateObject("ADODB.Command")
      17: objConnection.Provider = "ADsDSOObject"
      18: objConnection.Open "Active Directory Provider"
      19: Set objCommand.ActiveConnection = objConnection
      20:  
      21: objCommand.Properties("Page Size") = 1000
      22: objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
      23:  
      24:     strName=InputBox("Enter username:")
      25:     objCommand.CommandText = _
      26:         "SELECT distinguishedName FROM 'LDAP://ou=Domino Contacts,dc=DOMAIN,dc=COM' WHERE objectCategory='user' " & _
      27:             "AND mailNickname='" & strName & "'"
      28:     Set objRecordSet = objCommand.Execute
      29:  
      30:     If objRecordset.RecordCount = 1 Then
      31:         strDN = objRecordSet.Fields("distinguishedName").Value
      32:         MsgBox(strDN & ": FOUND")
      33:     strDN = Replace(strDN, "/", "\/")
      34:         Set objContact = GetObject("LDAP://" & strDN)
      35:         arrProxyAddresses = objContact.GetEx("proxyAddresses")
      36:         nArr = UBound(arrProxyAddresses)
      37:         For n=0 To nArr
      38:             If InStr(arrProxyAddresses(n), "SMTP:") Then
      39:                 strEmailAddr = Mid(arrProxyAddresses(n), 6) 
      40:             End If
      41:         Next
      42:  
      43:         objCommand.CommandText = _
      44:             "SELECT distinguishedName FROM 'LDAP://ou=USERS,dc=DOMAIN,dc=COM' WHERE objectCategory='user' " & _
      45:                 "AND sAMAccountName='" & strName & "'"
      46:         Set objRecordSet2 = objCommand.Execute
      47:  
      48:         If objRecordset2.RecordCount = 1 Then
      49:             strDN2 = objRecordSet2.Fields("distinguishedName").Value
      50:             MsgBox(strDN2 & ": USER FOUND")
      51:             Set objRecipient = GetObject("LDAP://" & strDN2)
      52:  
      53:             objRecipient.ProxyAddresses = arrProxyAddresses
      54:             objRecipient.put "mailnickname", strName
      55:             objRecipient.put "mail", strEmailAddr
      56: '            objRecipient.MailEnable strEmailAddr
      57:             objRecipient.SetInfo
      58:             MsgBox("OK")
      59:         End If
      60:  
      61:         objContact.DeleteObject(0)
      62:  
      63:         objRecordset.Close
      64:         objRecordset2.Close
      65:        
      66:     Else    
      67:         MsgBox(strName & ": NOT_FOUND")
      68:     End If
      69:     
      70: objConnection.Close

Good luck for your migration! Don't forget to read the documentation: Microsoft Transporter for Lotus Domino End-to-End Guidance.

26 de janeiro de 2008

Outlook 2007 demos

A Microsoft disponibilizou 2 vídeos que demonstram como realizar algumas das tarefas mais comuns no Microsoft Office Outlook 2007.

  • Outlook 2007 Demo: Create and use an e-mail signature - In Microsoft Office Outlook 2007, you can create and store different signatures for different circumstances. It's easy to create a signature that includes the information you want— whether it's a plain signature with just your name or an elaborate one with a photo, hyperlink, contact details, and several lines of text formatted for clarity and emphasis. Set a signature to appear by default, or add one with a quick right-click. Creating, managing, and using e-mail signatures is easy.
  • Outlook 2007 Demo: Customize your calendar- Did you know that the views in your Outlook 2007 calendar are fully customizable? For example, you can view your days and weeks in increments of 5 minutes, 60 minutes, and a variety of periods in between. You can adjust the view of your calendar according to your work week and work day; for instance, you can display Sunday through Thursday and show a normal day as being 11 in the morning to 7 in the evening if you like. Use different color schemes, and show more or less detail in your calendar. Watch the demo to see how to do all this and more.

25 de janeiro de 2008

Leitura de fim-de-semana

24 de janeiro de 2008

Techdays 2008

A edição deste ano do Techdays, o maior evento técnico organizado pela Microsoft Portugal, vai ocorrer  de 12 a 14 de Março no Centro de Congressos de Lisboa.

O evento será precedido no dia 11 pelo lançamento de 3 novos produtos:

  • Windows Server 2008
  • SQL Server 2008
  • Visual Studio 2008

O dia do lançamento terá entrada livre, mas os Techdays terão o seguinte custo de inscrição:

  • 149,00€ até 25 de Janeiro de 2008
  • 225,00€ até 22 de Fevereiro de 2008

Aqui ficam os links com toda a informação do evento:

A Unisys é mais uma vez um dos patrocinadores principais ;-)

Technorati :

18 de janeiro de 2008

Leitura de fim-de-semana

Capítulos grátis de livro de PowerShell

Uma amiga minha, a Ilse Van Criekinge (MVP de Exchange e vencedora do Speaker Idol do TechEd IT Forum deste ano) é a autora de um livro sobre Powershell que vai ser lançado dentro em breve.

O livro, Exchange Management Shell: TFM, ainda não está pronto, mas as boas notícias é que se pode fazer o download grátis de alguns capítulos não editados a partir do site da SAPIEN.

Qualquer feedback é sempre bem-vindo e pode ser enviado por correio electrónico para errata@sapien.com ou directamente para a Ilse: ilse.vancriekinge@pro-exchange.be.

"Exchange Management Shell: TFM provides the answers in a "cookbook" format that focuses on real-world Exchange Server 2007 management tasks, and how to accomplish them in Windows PowerShell. This authoritative and comprehensive book includes a standardized "crash course" in Windows PowerShell for newcomers, and dives right into the nuts and bolts of becoming a leading-edge, command-line Exchange administrator."

15 de janeiro de 2008

Exchange Best Practices Analyzer (ExBPA) Web Update Pack

Está disponível para download o Microsoft Exchange Best Practices Analyzer Web Update Pack (v2.11.18.0).

Brief Description
Configuration, rule, and help updates for the Exchange Best Practices Analyzer v2.8.

Overview
This download contains the latest XML and ExBPA.chm files. Use this package to update your existing installation of the Exchange Best Practices Analyzer. NOTE: If Internet connectivity is available, the Exchange Best Practices Analyzer will attempt to automatically update itself from the Internet. Where updates are being applied automatically, there is no need to download the Web Update Pack.
To find out which version of ExBPA.Config.xml is installed on your computer, click the 'About Exchange Best Practices Analyzer' link within the tool. The upper version number refers to the core application (e.g. 2.9.7926.0), the lower version is for the configuration XML file.

Instructions
Download and run the package. When prompted, extract the files to your Exchange Best Practices Analyzer program folder (usually C:\Program Files\ExBPA\en).

MCITP: Enterprise Messaging Administrator

Depois de hoje ter passado no exame 70-238, ganhei a certificação MCITP: Enterprise Messaging Administrator.

Para atingir esta certificação é necessário realizar com sucesso 3 exames:

Os 2 primeiros não são complicados, o último é um pouco mais difícil, mas qualquer um com experiência de campo suficiente consegue passar.

8 de janeiro de 2008

Como activar a Standby Continuous Replication (SCR)

Standby Continuous Replication é uma das melhores funcionalidades introduzidas com o Exchange Server 2007 SP1.

Recentemente tive a oportunidade de utilizar SCR, pelo que segui os passos descritos no artigo da Microsoft TechNet, How to Enable Standby Continuous Replication for an Existing Storage Group. Uma vez que todos os transactions logs desde a criação do Storage Group não estavam disponíveis (o que é normal devido ao processo de backup), tive que utilizar seeding do nó passivo.

Estes são os passos necessários para este cenário:

  1. Garantir que podem ser utilizadas as mesmas paths dos ficheiros de transaction logs e da base de dados, tanto no SCR Source, como no SCR Target.
  2. No nó activo (ou SCR source) correr o seguinte cmdlet de Exchange Management Shell cmdlet:
    Enable-StorageGroupCopy -Identity 
    <NameofStorageGroup> -StandbyMachine
    <SCRTargetMachine> -ReplayLagTime 0.1:0:0

  3. Outra vez no nó activo, suspender a replicação:
    Suspend-StorageGroupCopy 
    -Identity <Server\StorageGroupName>
    -StandbyMachine <SCRTargetMachine>

  4. No nó passivo (ou SCR Target) correr o seguinte comando:
    Update-StorageGroupCopy 
    -Identity <Server\StorageGroupName>
    -StandbyMachine <SCRTargetMachine>

Este último passo vai iniciar a sincronização do ficheiro de base de dados do SCR Source para o SCR Target e pode demorar um bocado, dependendo da quantidade de dados a copiar. No final, o processo de réplica será automaticamente reiniciado.


Para verificar o estado da réplica, pode ser utilizado o seguinte cmdlet de PowerShell:

Get-StorageGroupCopyStatus -Server:<SCRTargetMachine>