Exchange 2003 /2007 veya 2010’da duran organizasyonunuzu değişik nedenlerden dolayı farklı bir organizasyona taşımak zorunda kalabilirsiniz. Böyle bir durumda Exchange 2010 bize Cross-Forest Move Request özelliği sayesinde iki farklı organizasyon arasında mailbox move işlemi yapmamıza olanak sağlamaktadır.
Forestlar arası migration işlemi için ortamın en az Exchange 2003 SP2 seviyesinde olması gerekmektedir.
Bu makalede Exchange 2003 ortamından 2010 ortamına mailbox migration işleminin nasıl yapıldığını göreceğiz. Öncelikle test yapımızdan bahsedelim:
Source domain: Exchange 2003 – Margiestravel.com
Target domain: Exchange 2010 – Exchange2010.net
Bu makalede Exchange 2003 domain’indeki My Users OU’su içerisindeki User1, User2 ve User3 kullanıcılarını Exchange 2010’da Migrated from e2k10 OU’suna mailboxları ile birlikte taşıyacağız.
Taşınacak kullanıcıların mailbox ve item adetleri Exchange System Manager üzerinden;
Yapılması gereken ilk işlem source domain’de bulunan kullanıcıların mail-enabled user olarak, gerekli attribute’ları da içeren bir şekilde target domainde yaratılması. İki yöntem kullanılabilir:
1- ILM (Microsoft Identity Lifecycle Manager) kullanarak forest’lar arası Galsync yapmak.
2- AD tool’ları ve bir script vasıtası ile user’ların yaratılması ve mail-enabled user olarak işaretlenmeleri.
Biz bu makalede ikinci yöntemi kullanacağız. Bunun için ilk olarak Exchange kurulumu ile gelen bir script ve ADMT aracını kullanarak kullanıcıları SID’leri ile birlikte target domain’e migrate edeceğiz.
Migration işlemi için iki domain arasında iki yönlü trust kurulması ve domain’ler arası isim çözümlemesinde sorun olmaması gerekiyor. Trust ve DNS forwarding konusunda aşağıdaki makaleyi referans alabilirsiniz:
http://technet.microsoft.com/en-us/library/cc778851(v=WS.10).aspx
http://technet.microsoft.com/en-us/library/cc773370(v=ws.10).aspx
Bundan sonraki işlem Exchange 2003’deki mailbox-enabled user’ların Active Directory ve mailbox attribute’larını Exchange 2010 ortamına kopyalayıp, orada da bu user’ların oluşmasını sağlamak.
Bunun için Exchange kurulumu ile gelen Prepare-MoveRequest.ps1 script’ini çalıştırmak gerekiyor.
Script’I target forest’ta çalıştırmak gerekiyor. Script source ve target forest’daki organizational admin credentiallarına gereksinim duyduğu için öncelikle Get-Credential ile username/password bilgilerini geçici olarak tanımlamamız gerekiyor.
2010 domain’i için gerekli credentialları $LocalCredentials olarak tanımladık, credentialların domain\username şeklinde, domain adı ile birlikte girilmesi gerekmektedir:
2003 domain’i için gerekli credentialları $RemoteCredentials olarak tanımladık:
Exchange 2003 domainindeki (Margiestravel.com) User1’i, diğer domaine gerekli attribute’ları ile kopyalayıp Exchange 2010 domaininde (Exchange2010.net) "Migrated from E2K3" OU’su altına migrate edelim.
*Komutu Exchange 2010 domaininde çalıştırdığımız için komutta geçen RemoteForest 2003 domainini, LocalForest ise Exchange 2010 domainine işaret etmektedir.
**Script, default Scripts klasörü altında yer aldığı için (C:\Program Files\Microsoft\Exchange Server\V14\Scripts) EMS’de bu lokasyondan komutu çalıştırmayı unutmayın.
<I>Prepare-MoveRequest.ps1 -Identity User1@Margiestravel.com -RemoteForestDomainController MTravel-DC.margiestravel.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController Exch2k10-DC.Exchange2010.net -LocalForestCredential $LocalCredentials -TargetMailUserOU "Migrated from E2K3"</I>
Target forest’ta “Migrated from E2K3” OU’suna baktığımızda User1’in bazı attribute’lar ile birlikte disabled olarak geldiğini görebilirsiniz: Taşınan attribute’lar ; <I style="FONT-SIZE: 12px; FONT-FAMILY: ‘Segoe UI’, ‘Lucida Grande’, Verdana, Arial, Helvetica, sans-serif; FONT-VARIANT: normal; WHITE-SPACE: normal; TEXT-TRANSFORM: none; WORD-SPACING: 0px; FONT-WEIGHT: normal; COLOR: rgb(42,42,42); TEXT-ALIGN: left; LETTER-SPACING: normal; LINE-HEIGHT: 18px; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">legacyExchangeDN, mail, mailnickname, msExchmailboxGuid, proxyAddresses, X500, targetAddress, userAccountControl, userprincipalName</I>
EMC’dan baktığınızda ise mail-enabled user olarak object yaratılmış durumda. Henüz mailbox-enabled user değil. Attribute’lardan SIDHistory’e baktığınızda bu alanın boş olduğunu göreceksiniz, çünkü bahsi geçen script SID’leri migrate edemez, sadece mailbox move işlemini yapabilmek için gerekli olan attribute’ları migrate eder. SID History’nin ADMT ile migration sonrası geldiğini göreceğiz.
Peki bu script ile tüm kullanıcıları veya belli bir OU altındaki kullanıcıları toplu olarak nasıl migrate ederim?
Toplu olarak mail-enabled user oluşturmak için source forest kullanıcıları csv formatında bir dosyaya export edip bu csv’yi kullanacağız.
Bunun için csvde aracını kullanarak belirli bir OU altındaki user’ları aşağıdaki gibi bir komutla export ettikten sonra Excel içerisinden dosyayı düzenlemeniz yeterli. Dosyada bizim için gerekli olan tek sütun Proxy Addresses sütunu olacak.
<I>Csvde –f C:\Temp\MyUsers.csv –s Mtravel-DC.margiestravel.com –d “OU=My Users,DC=Margiestravel,DC=com”</I>
Csvde ile neler yapılabileceği konusunda aşağıdaki linki inceleyebilirsiniz.
http://technet.microsoft.com/en-us/library/cc787549(v=WS.10).aspx
Hazırlamış olduğumuz csv dosyasının nihai hali:
İlgili csv dosyasını Temp klasörü altına kopyaladıktan sonra aşağıdaki komutu çalıştırdığımızda dosya içerisindeki tüm user’lar move mailbox işlemi için hazırlanmış oluyor.
<I>Import-Csv C:\Temp\MyUsers.csv | Prepare-MoveRequest.ps1 -RemoteForestDomainController MTravel-DC.margiestravel.com -RemoteForestCredential $RemoteCredentials LocalForestDomainController Exch2k10-DC.Exchange2010.net -LocalForestCredential $LocalCredentials -TargetMailUserOU "Migrated from E2K3"</I>
*Scriptte -<I>LocalForestDomainController</I> parametresi zorunlu olmayan bir parametre, ancak birden fazla DC’niz varsa kullanmanızı öneririz.
**Scriptle ilgili değinilmesi gereken diğer bir parametre, –UseLocalObject parametresi. Kullanıcılarınızı target forest’ta önceden farklı yöntemlerle oluşturmuş iseniz bu parametreyi kullanmalısınız. Script target domainde aynı kullanıcı mevcut ise, sadece ilgili attribute’ları var olan kullanıcının üzerine yazarak onu mail-enabled user haline getiriyor.
Prepare-MoveRequest.ps1ile kullanıcıların sadece bazı attribute’larının target forest’a kopyalandığını unutmayın, bu işlemin ardından kullanıcılarımın mailbox’ları move edilmeye hazır hale getirilmiş oluyor. Ancak migrate edilen kullanıcıların Prepare-MoveRequest.ps1 ile kopyalanmayan attribute’ları bulunmakta ve bunun için de ADMT’yi kullanarak migration işlemini tamamlamalıyız.
Aslında ADMT’yi kullanmadan şu anda mailbox-move işlemine geçebiliriz ve bir sorun da yaşamayız. Yalnız source forest’ta kullanıcıların halen erişmesi gereken kaynaklar varsa veya kullanıcı parolalarının da migrate edilmesini istiyorsanız ADMT kullanmalısınız. ADMT ile migration başlıbaşına ayrı bir konu olduğu için nasıl yapıldığı konusunda aşağıdaki dökümanı inceleyebilirsiniz.
Active Directory Migration Tool (ADMT)
Guide: Migrating and Restructuring Active Directory Domains
Migration sırasında dikkat edilmesi gereken noktalardan biri, target forest’ta kullanıcılarımız zaten var olduğu için “Migrate and merge conflicting objects” seçeneğini işaretlemek.Böylece conflict durumunda kullanıcıların gerekli attribute’ları ADMT tarafından update edilecektir.
Migration sonrası User1’in SIDHistory attribute’u artık boş değil. Aynı zamanda her iki domaindeki User1’in SID’lerini kontrol ettiğinizde aynı SID’lere sahip olduğunu göreceksiniz.
Son aşamamız kullanıcıların mailbox’larını taşımak. New-MoveRequest komutunu aşağıdaki parametrelerle kullandığımda User1’e ait mailbox 2010 ortamına taşınacaktır.
<I>New-MoveRequest -Identity User1@margiestravel.com -RemoteLegacy -TargetDatabase "Mailbox Database 0744752288" -RemoteGlobalCatalog “MTravel-DC.margiestravel.com” -RemoteCredential $RemoteCredentials</I><I> –TargetDeliveryDomain “Exchange2010.net”</I>
Taşınan mailbox’ı yeni domainde açtığımızda artık @exchange2010.net SMTP adresini aldığını ve tüm maillerinin sorunsuz taşındığını doğrulayabiliriz.
Burada New-MoveRequest komutuna ait bazı parametrelerden biraz bahsedelim:
<I>-RemoteLegacy:</I> Source forest’da Exchange 2010 bulunmadığını (2003 veya 2007 olabilir) ifade eder ve bu parameter ardından bir değer girmek gerekmiyor. Eğer source forest bir 2010 sunucu içeriyorsa bu parameter kullanılmamalı.
<I>-Outbound:</I> Bu parameter işlemin forest’lar arası yapıldığını ve komutun çalıştığı ortamın source forest olduğunu ifade eder.
<I>-Remote:</I> Bu da Outbound switch’ı gibi move işleminin forest’lar arası olduğunu, ancak komutun çalıştığı ortamın target forest olduğunu ifade eder. Bu sebeple de Outbound ve Remote switch’leri aynı anda kullanılamaz.
Biz komutta RemoteLegacy parametresini kullandığımız için Outbound ve Remote parametrelerine ihtiyaç duymadık.
New-MoveRequest komutunu migrate edilmiş tüm kullanıcılar için nasıl çalıştırabilirim?
PrepareMoveRequest.ps1 scriptini tüm kullanıcılar için çalıştırırken kullandığımız csv dosyasını umarım silmemişsinizdir. Çünkü aynı dosyayı kullanarak kullanıcıların mailboxlarını da toplu halde taşıyacağız.
<I>Import-Csv C:\Temp\MyUsers.csv | New-MoveRequest -RemoteLegacy -TargetDatabase "Mailbox Database 0744752288" -RemoteGlobalCatalog “MTravel-DC.margiestravel.com” -RemoteCredential $RemoteCredentials</I><I> –TargetDeliveryDomain “Exchange2010.net”</I>
Tüm mailbox’lar taşındıktan sonra EMC’da “Move Request” altında Completed durumda remote move request raporları görmelisiniz. Aşağıdaki komut ile tamamlanmış istek raporlarını kolayca temizleyebilirsiniz.
<I>Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest</I>
Her versiyonda sistem yöneticilerinin işlerini biraz daha kolaylaştıracak yenilikler sunan Microsoft Exchange, bir sonraki sürümde bize daha ne avantajlar sunacak hep beraber göreceğiz.
Latest posts by Huseyin KARTAL (see all)
- The host record cannot be created Refused - 19 Haziran 2014
- Exchange 2010 Management Console Hatası - 13 Haziran 2014
- Exchange 2010 static port atama - 06 Haziran 2014