İşlemlerin başlangıcında kafanızın karışmaması için altyapıyı anlatayım; mevcut ortam ve hedef ortamla alakalı bilgiler şu şekilde;

Mevcut Ortam (Source Environment) Hedef Ortam (Target Environment)
Domain Name (FQDN) vmware.local broadcom.local
User Principal Name (UPN) linuxpro.com.tr sercancelenk.com
Domain Controller (DC) DC.vmware.local CrossDC.broadcom.local
Exchange Server EXCHANGE-02.vmware.local CrossExchange.broadcom.local

 

Cross Forest ve Exchange Server Migration işleminde ilk yapacağınız işlem DNS’lerin birbirlerini çözebilmeleri için yeni Conditional Forwarder eklemek.

DNS panelini açın ve New Conditional Forwarder’a tıklayın.

Mevcut domainde, hedef AD’nin IP’sini yazın.

Hedef domainde, mevcut domainin IP’sini yazın.

 

vmware.local domaininden broadcom.local domainin dns’inin çözümlenip çözümlenmediğini test edin.

broadcom.local domaininden vmware.local domainin dns’inin çözümlenip çözümlenmediğini test edin.

Bir sonraki aşama Domainler arası trust yapma işleminde.  Trust öncesinde aradaki portların two-directional yani çift yönlü açılması gerekmektedir.

Servis / Protokol Port Numarası Protokol Tipi Açıklama
DNS 53 TCP / UDP Domain adlarının çözümlenmesi için
Kerberos 88 TCP / UDP Kimlik doğrulama (Authentication) için
LDAP 389 TCP / UDP Dizin sorgulamaları için
LDAP (SSL/TLS) 636 TCP Güvenli LDAP sorguları için
SMB (Microsoft-DS) 445 TCP NetLogon, dosya paylaşımı ve IPC$ için
NetBIOS Name 137 UDP NetBIOS isim çözünürlüğü için
NetBIOS Datagram 138 UDP NetBIOS trafiği için
NetBIOS Session 139 TCP NetBIOS oturum yönetimi için
RPC Endpoint Mapper 135 TCP Dinamik RPC portlarının haritalanması için
RPC Dynamic Ports 49152 – 65535 TCP ADMT, Parola Taşınması (PES) ve replikasyon için
Global Catalog 3268 / 3269 TCP Forest içi/arası nesne aramaları için

Mevcut domainde Properties>Trusts kısmına gelin ve New Trust’a tıklayın.

Hedef domain adını yazın.

Taşımanın sorunsuz olması için Forest trust yapın.

Domainler arası iletişimi çift yönlü yapın.

İki taraf içinde uygularsanız, hedef domainde bu işlemleri yapmanıza gerek kalmaz. O yüzden bu seçenekle ilerleyin.

Hedef domain admin bilgilerini girin.

Geçişin sorunsuz gerçekleşmesi için Forest-wide ile ilerleyin.

Geçişin sorunsuz gerçekleşmesi için Forest-wide ile ilerleyin.

Mevcut domain suffix’leri gözükmektedir. Mevcut domainde kullanıcılar linuxpro.com.tr UPN’ini kullanıyor. İkisinide seçin



Trust sorunsuz bir şekilde tamamlandı.

 

Mevcut(broadcom.local) domainde Domain Admin grubuna; hedef(vmware.local) domain Domain Admin userını ekleyin.

 

Hedef(broadcom.local) domainde SQL kurulumu yapın.

https://www.microsoft.com/en-us/download/details.aspx?id=101064





Hedef(broadcom.local) domainde Active Directory Migration Tool(ADMT) kurulumu yapın.

https://www.microsoft.com/en-us/download/details.aspx?id=56570

CrossDC hedef domaindeki controller’ım. SQL’i kurduğumuz makine yani.

Management Studio’yu açtığınızda ADMT adında bir database oluşturulduğunu göreceksiniz.

Sıra şifrelerin aynı şekilde Hedef(broadcom.local) Domaine taşınabilmesi için Password Export Server kurulumunda.
Hedef(broadcom.local) cmd’yi açıp aşağıdaki komutu çalıştırın.

Verilen path’te .pes uzantılı bir dosya oluşturacaktır. Bu dosyayı Mevcut(vmware.local) domain controller makinesine taşıyın.

admt key /option:create /sourcedomain:vmware.local /keyfile:"C:/password.pes" /keypassword:Sercan123!

Mevcut(vmware.local) domain’de Password Export Server’i kurun.

https://www.microsoft.com/en-us/download/details.aspx?id=1838


Taşıdığınız dosyayı; gösterin.

CMD’de çalıştırdığınız komutta verdiğiniz şifreyi girin.

Mevcut(vmware.local) domain admin bilgilerini girin.

Sunucuyu muhakkak restart edin.

Restart sonrası servis kısmına geldiğinizde Password Export Server servisini göreceksiniz.
Servisi başlatın.

Hedef(broadcom.local) domainin’de kurduğumuz ADMT tool’unu çalıştırın.

Önce user’ı taşıyacağız.
User Account Migration Wizard ile ilerleyin.

 

Mevcut(vmware.local) ve hedef (broadcom.local) domain bilgilerini girin.

User’ları GUI üzerinden seçebilir veya .csv .txt formatında dosya hazırlayıp tool’a yükleyebilirsiniz.
Şimdilik GUI’den yapacağız. İlerleyen kısımlarda .csv ile yapacağız.

Taşıyacağınız kullanıcıyı seçin.

Taşıyacağımız user’ın mevcut domaindeki durumu aşağıdaki gibidir.
NETBIOS vmware.local
UPN linuxpro.com.tr

Mevcut(vmware.local) domaindeki Exchange User durumuda aşağıdaki gibidir.

Tool’ a dönelim tekrardan;

Hedef(vmware.local) domaindeki taşınacağı OU’yu seçin.

Password’un değişmemesi için migrate password seçeneğini işaretleyin.

Mevcuttakini aynı şekilde hedefe taşımak için Target same as source’u işaretleyin.
Sorunsuz bir geçiş istiyorsanız; parçalı bir geçişiniz varsa Migrate user SIDs to target domaini muhakkak işaretleyin.

Mevcut(vmware.local) domain admin bilgilerini girin.

Fix users’ group memberships’i seçin.

Exclude etmek istediğiniz attribute varsa seçin.

Çakışan objelerin sorun çıkarmaması için Do not migrate source object if a conflict is detected in the target domain’i seçin.

Finish’e tıkladığınız an’da taşıma başlayacaktır.

Kısa süre bekledikten sonra taşımanın tamamlandığını göreceksiniz.

 

Hedef(broadcom.local) domain’e baktığınızda kullanıcının taşındığını göreceksiniz.

 

User taşıma işlemi sorunsuz bir şekilde tamamlandı. Sıra eski Exchange Server’da kalan mailboxını taşımada.

Mailbox’ı 2 yolla kesintisiz taşıyabilirsiniz;

1.YOL

Recipient Type attribute’ını Synced duruma getirmek ve Remote-Mailbox tanımlamalarını yapmak.

Set-ADUser -Identity "seyma.celenk" -Replace @{msExchRemoteRecipientType=1; msExchRecipientDisplayType=-2147483642; msExchRecipientTypeDetails=2147483648; msExchModerationFlags=0} -Clear msExchHomeServerName -Server "crossdc.broadcom.local"

AD Topoloji servisini restart edin.

Restart-Service MSExchangeADTopology

Remote-Mailbox için gerekli SMTP tanımlamalarını yapın.

Set-RemoteMailbox -Identity "seyma.celenk" -EmailAddressPolicyEnabled $false -PrimarySmtpAddress "[email protected]" -RemoteRoutingAddress "[email protected]" -DomainController "crossdc.broadcom.local"

Remote-Move için aşağıdaki komutu kendi ortamınza göre düzenleyin.

New-MoveRequest -Identity "seyma.celenk" -Remote -RemoteHostName "mail.linuxpro.com.tr" -RemoteCredential (Get-Credential) -TargetDatabase "DB-01" -TargetDeliveyDomain "sercancelenk.com" -BadItemLimit 1

Move başladı.

Tekrar kontrol ettiğinizde tamamlandığını göreceksiniz.

Get-MoveRequest

 

Taşıma işlemi tamamlandı. Hedef domainde kullanıcı oluştu. İlk yapılacak iş next logon’da şifreyi değiştirmeyi disable edeceğiz.

 

Set-ADUser -Identity "seyma.celenk" -ChangePasswordAtLogon $false

 

Next logonda şifre değiştirme disable edildi.

AD Connect / Entra Connect mail attribute’u ile sync ediyorsa sıkıntı olmaması için mail attribute’unu düzenleyin.

Set-ADUser -Identity "seyma.celenk"  -EmailAddress "[email protected]"

Mail kısmıda düzenlendi.

Yeni Domaindeki Exchange sunucusunda kullanı OWA’sını açtığınızda sorunsuz bir şekilde maillerin taşındığını göreceksiniz.

 

2.YOL

YALNIZCA KULLANICIYI MIGRATE ETTIKTEN SONRA YENI DOMAINDEKI USER’IN YENI EXCHANGEDEKI BAGLANTISINI KOPARTIP YENI BIR REMOTE-MAILBOX TANIMLAMASI YAPMAK.

Mevcut domaindeki kullanıcıyı Hedef domaine gönderdiniz. Sıra yine mailboxı taşıma işleminde. Remote-mailbox olarak eklenen mailboxın önce içeriğini temizleyeceğiz.

Get-Mailbox

Hedef(broadcom.local) Exchange Server’ına gelen kullanıcı remote mailboxını disable edin.

Disable-Mailbox -Identity "seyma.celenk" -Confirm:$false

Mevcut(vmware.local) Exchange Server’ında taşınacak mailboxın ExchangeGUID’sini çekin.

Get-Mailbox -Identity "seyma.celenk" | Select-Object Name, ExchangeGUID

Hedef(broadcom.local) Exchange Server’ında Remote-Mailbox’ı Enable edip, Mevcut yani taşınacak Exchange Server’daki user’ın UPN’ini RemoteRoutingAddress olarak ekleyin.

Enable-RemoteMailbox -Identity "seyma.celenk" -RemoteRoutingAddress "[email protected]

Demin aldığınız ExchangeGUID’i RemoteMailbox’a ekleyin.

Set-RemoteMailbox -Identity "seyma.celenk"  -ExchangeGuid "302517fd-aedb-4610-8fa6-c04c4b777243"

 

AD Connect / Entra Connect mail attribute’u ile sync ediyorsa sıkıntı olmaması için mail attribute’unu düzenleyin.

Set-ADUser -Identity "seyma.celenk" -EmailAddress "[email protected]"

SMTP proxyAddresses attribute’ını düzenleyin.

Set-RemoteMailbox -Identity "seyma.celenk" -EmailAddressPolicyEnabled $false -EmailAddresses "SMTP:[email protected]"

Taşıma işlemi artık başlatılabilir. Aşağıdaki komutu kendi altyapınıza göre düzenleyin.

New-MoveRequest -Identity "[email protected]" -Remote -RemoteHostName "mail.linuxpro.com.tr" -RemoteCredential $SourceCredential -TargetDatabase "DB-01" -BatchName "CrossForest_SeymaCelenk" -TargetDeliveryDomain "sercancelenk.com"

Taşıma başladı.

Taşıma tamamlandı.

Get-MoveRequest

OWA’yı açtığınızda sorunsuz bir şekilde maillerin taşındığını ve kullanıma hazır olduğunu göreceksiniz.

 

SENARYO 2: YENI DOMAINE TAŞINMA SÜRECİNDE UPN DEĞİŞİKLİĞİ VARSA;

Mevcut(vmware.local) tcelenk UPN’li kullanıcı Hedef(broadcom.local) domainine tusem.celenk UPN’li olacak şekilde taşınacak.

 

Bir excell’de şu şekilde .csv dosyası hazırlayın.

 

User Account Migration Wizard’da Read objects from an include file kısmına tıklayın.

İlgili .csv doyasını gösterin ve kullanıcının Mevcut(vmware.local) domainde bulunduğu OU’yı seçin.

Hedef(broadcom.local) domainde taşınacağı OU’yu seçin.

Şifreleri yine aynı şekilde taşımak istiyorsanız Migrate passwords kısmını işaretleyin.

Mevcut(vmware.local) domain admin bilgilerini girin.

Mevcut domain;
VMWARE\tcelenk
[email protected]

Hedef domain;
BROADCOM\tusem.celenk
[email protected]

tcelenk kullanıcısı tusem.celenk UPN’i ile sorunsuz bir şekilde Hedef(broadcom.local) domainine taşındı.

Taşıma sonrası mailbox taşımalarıda yapılacaksa yukarıda gösterilen şekilde remote-move yapılarak sorunsuz bir şekilde geçiş tamamlanabilir.

SENARYO 3 :AD KULLANICILARIN TAŞINMAYIP, YALNIZCA KULLANICI MAILBOXLARININ HEDEF DOMAINDEKI EXCHANGE’E AKTARILMASI

Mevcut domaindeki kullanıcının yalnızca mailboxını yeni domaindeki kullanıcıya aktaracağız.

Mevcut(vmware.local) domain kullanıcısı;
VMWARE\b1934
[email protected]

 

Hedef(vmware.local) domaindeki hazır kullanıcısı;
BROADCOM\ali.can
[email protected]

Mevcut(vmware.local) domain’indeki kullanıcı mailboxı

 

Hedef(broadcom.local) domain Exchange suncusunda aşağıdaki komutu çalıştırın.

Enable-RemoteMailbox -Identity "ali.can" -RemoteRoutingAddress "[email protected]"

 

Mevcut(vmware.local) domain Exchange sunucusunda aşağıdaki komutu çalıştırarak, mailboxın guid’sini alın.

Get-Mailbox -Identity "ali.can" | Select-Object Name, ExchangeGUID

 

Set-RemoteMailbox -Identity "ali.can" -ExchangeGuid "bb96598e-050f-4228-817b-dc66d13f73db"

 

Set-RemoteMailbox -Identity "ali.can" -EmailAddressPolicyEnabled $false -EmailAddresses "SMTP:[email protected]"

 

New-MoveRequest -Identity "[email protected]" -Remote -RemoteHostName "mail.linuxpro.com.tr" -RemoteCredential $SourceCredential -TargetDatabase "DB-01" -BatchName "CrossForest_AliCan" -TargetDeliveryDomain "sercancelenk.com"

Get-MoveRequest