Makalenin ilk bölümünü buradan okuyabilirsiniz.

Bir önceki blog'da kaldığımız yer: "Prepare-MoveRequest.ps1 script’i ile tüm kullanıcıları veya belli bir OU altındaki kullanıcıları toplu olarak nasıl migrate ederim?" idi.

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.

Csvde –f C:\Temp\MyUsers.csv –s Mtravel-DC.margiestravel.com –d “OU=My Users,DC=Margiestravel,DC=com”

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.

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"

*Scriptte -LocalForestDomainController 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.

New-MoveRequest -Identity User1@margiestravel.com -RemoteLegacy -TargetDatabase "Mailbox Database 0744752288" -RemoteGlobalCatalog “MTravel-DC.margiestravel.com” -RemoteCredential $RemoteCredentials –TargetDeliveryDomain “Exchange2010.net”

 

 

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:

-RemoteLegacy: 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ı.

-Outbound: Bu parameter işlemin forest’lar arası yapıldığını ve komutun çalıştığı ortamın source forest olduğunu ifade eder.

-Remote: 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.

Import-Csv C:\Temp\MyUsers.csv | New-MoveRequest -RemoteLegacy -TargetDatabase "Mailbox Database 0744752288" -RemoteGlobalCatalog “MTravel-DC.margiestravel.com” -RemoteCredential $RemoteCredentials –TargetDeliveryDomain “Exchange2010.net”

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.

Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

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.

Sevgi Sifyan