ADMT Tool EXC Migration
Active Directory geçişlerinde kullanıcı hesaplarının bir forest’tan başka bir forest’a taşınması ve Exchange posta kutularının yeni ortama aktarılması gerekebilir.
Bu makalede, kaynak ve hedef Exchange forest’ları arasında posta kutusu taşıma işlemi anlatılmaktadır.
Örnek ortam:
- Kaynak forest:
source.local - Hedef forest:
target.local - Kaynak domain denetleyicisi:
dc01.source.local - Hedef domain denetleyicisi:
dc01.target.local
Cross-forest posta kutusu taşıma işlemi aşağıdaki sırayla yapılmalıdır:
1. Prepare-MoveRequest.ps1
2. ADMT ile kullanıcı taşıma ve birleştirme
3. New-MoveRequest ile posta kutusu taşıma
Bu sırada önce hedef forest’ta posta kutusu için gerekli MailUser nesnesi oluşturulur. Daha sonra ADMT ile kullanıcı hesabı aynı hedef nesneyle birleştirilir. Son aşamada posta kutusu MRS Proxy üzerinden taşınır.
Ön koşullar
İşleme başlamadan önce aşağıdaki şartlar sağlanmalıdır:
- Kaynak ve hedef forest arasında güven ilişkisi bulunmalıdır.
- Kaynak ve hedef DNS çözümlemesi çalışmalıdır.
- Kaynak Exchange üzerinde MRS Proxy açık olmalıdır.
- Kaynak Exchange’e HTTPS üzerinden erişilebilmelidir. (Kaynak Exchange Sunucudan Hedef Exchange Sunucuya sertifikanın export-import yapılması )
- Kaynak ve hedef domain denetleyicilerine erişim olmalıdır.
- Kaynak ve hedef hesapların gerekli yetkileri bulunmalıdır.
- Hedef forest’ta posta kutusunun oluşturulacağı OU hazır olmalıdır.
Kaynak Exchange üzerinde MRS Proxy kontrolü:
Get-WebServicesVirtualDirectory |
Format-List Identity,MRSProxyEnabled
Gerekirse etkinleştirme:
Get-WebServicesVirtualDirectory |
Set-WebServicesVirtualDirectory -MRSProxyEnabled $true
1. Prepare-MoveRequest.ps1 çalıştırılması
İlk adımda Prepare-MoveRequest.ps1 script’i hedef Exchange sunucusunda çalıştırılır.
Bu script, kaynak posta kutusuna ait gerekli Exchange özniteliklerini hedef forest’a aktarır ve hedefte MailUser nesnesi oluşturur.
Önce kaynak ve hedef forest kimlik bilgileri alınır:
$LocalCredentials = Get-Credential
$RemoteCredentials = Get-Credential
$LocalCredentials: Hedef forest hesabı$RemoteCredentials: Kaynak forest hesabı
Ardından hazırlık script’i çalıştırılır:
.\Prepare-MoveRequest.ps1 `
-Identity "user1@source.local" `
-RemoteForestDomainController "dc01.source.local" `
-RemoteForestCredential $RemoteCredentials `
-LocalForestDomainController "dc01.target.local" `
-LocalForestCredential $LocalCredentials `
-TargetMailUserOU "OU=Migration,DC=target,DC=local"
Komut başarılı olduğunda aşağıdaki benzeri bir çıktı görülmelidir:
Preparation for user1@source.local done.
1 mailbox(s) ready to move.
Bu aşamadan sonra hedef Exchange üzerinde kullanıcı kontrol edilebilir:
Get-Recipient user1 |
Format-List Name,RecipientTypeDetails,PrimarySmtpAddress,ExternalEmailAddress
Kullanıcının Exchange açısından MailUser olarak görünmesi beklenir:
RecipientTypeDetails : MailUser
2. Kullanıcının ADMT ile taşınması
Prepare işlemi tamamlandıktan sonra kullanıcı ADMT ile hedef forest’a taşınır.
ADMT üzerinde:
- Kullanıcı taşıma sihirbazı başlatılır.
- Kaynak kullanıcı seçilir.
- Hedef OU olarak şu OU kullanılır
- İşlem, mümkünse Migrate and Merge yöntemiyle gerçekleştirilir.
- Hedefte
Prepare-MoveRequest.ps1tarafından oluşturulan kullanıcı nesnesiyle birleştirme yapılır.
ADMT sırasında hariç tutulması gereken Exchange öznitelikleri

ADMT, Exchange’e ait bazı öznitelikleri taşırsa hedef kullanıcı yanlışlıkla UserMailbox olarak oluşabilir. Bu durumda aşağıdaki hata alınabilir:
Database is mandatory on UserMailbox
Bu nedenle ADMT sırasında aşağıdaki öznitelikler hariç tutulmalıdır:
homeMDB
homeMTA
showInAddressBook
msExchHomeServerName
mail
proxyAddresses
msExch*
Bu işlem, Prepare-MoveRequest.ps1 tarafından oluşturulan MailUser bilgilerinin korunmasını sağlar.
ADMT işlemi tamamlandıktan sonra hedef kullanıcı tekrar kontrol edilmelidir:
Get-Recipient user1 |
Format-List Name,RecipientTypeDetails,EmailAddresses,ExternalEmailAddress
Beklenen değer:
RecipientTypeDetails : MailUser
3. Hedef SMTP proxy adresinin kontrol edilmesi
Hedef MailUser üzerinde hedef forest’a ait SMTP adresinin bulunması gerekir.
Kontrol:
Get-MailUser user1 |
Format-List EmailAddresses,ExternalEmailAddress
Aşağıdaki adresin bulunması beklenir:
smtp:user1@target.local
Adres eksikse eklenebilir:
Set-MailUser -Identity "user1" `
-EmailAddresses @{Add="smtp:user1@target.local"}
Bu adres eksik olduğunda aşağıdaki hata görülebilir:
The target mailbox doesn't have an SMTP proxy matching 'target.local'
Ayrıca target.local domaininin hedef Exchange üzerinde kabul edilen domain olarak tanımlı olması gerekir.
4. Posta kutusunun taşınması
ADMT işlemi ve hedef MailUser kontrolleri tamamlandıktan sonra posta kutusu taşınabilir.
Komut hedef Exchange Management Shell üzerinde çalıştırılır:
New-MoveRequest `
-Identity "user1@source.local" `
-Remote `
-RemoteHostName "mail.source.local" `
-RemoteCredential (Get-Credential "SOURCE\Administrator") `
-TargetDeliveryDomain "target.local"
Komuttaki parametrelerin görevleri:
-Identity: Taşınacak kaynak posta kutusunu belirtir.-Remote: Taşımanın başka bir forest’tan yapılacağını belirtir.-RemoteHostName: Kaynak Exchange’in MRS Proxy adresidir.-RemoteCredential: Kaynak forest hesabıdır.-TargetDeliveryDomain: Hedef forest’ın posta yönlendirme domainidir.
Taşıma durumunun kontrol edilmesi
Taşıma isteğini kontrol etmek için:
Get-MoveRequest -Identity "user1@source.local"
Ayrıntılı durum bilgisi:
Get-MoveRequestStatistics `
-Identity "user1@source.local" |
Format-List Status,StatusDetail,PercentComplete,Error
Taşıma başarılı olduğunda aşağıdaki değer görülür:
Status : Completed
Sık karşılaşılan hatalar
Database is mandatory on UserMailbox
Hedef kullanıcı UserMailbox olarak görünmesine rağmen posta kutusu veritabanı atanmamıştır. Genellikle ADMT’nin homeMDB, homeMTA veya msExch* özniteliklerini hedefe taşıması nedeniyle oluşur.
Çözüm:
- ADMT hariç tutma listesini kontrol edin.
- Hedef kullanıcıyı
UserMailboxolarak bırakmayın. Enable-Mailboxçalıştırmayın.Prepare-MoveRequest.ps1işlemini doğru sırayla yeniden uygulayın.
The target mailbox doesn’t have an SMTP proxy matching target.local
Hedef MailUser üzerinde hedef domainle eşleşen SMTP adresi bulunmamaktadır.
Kontrol:
Get-MailUser user1 | Format-List EmailAddresses
Gerekirse:
Set-MailUser -Identity "user1" `
-EmailAddresses @{Add="smtp:user1@target.local"}
LegacyExchangeDN bulunamıyor
Prepare-MoveRequest.ps1, hedef MailUser için yeni LegacyExchangeDN değeri oluşturur.
Kaynak kullanıcının eski LegacyExchangeDN değeri de hedef nesnenin proxyAddresses alanına X500 adresi olarak eklenmelidir. Bu işlem, eski adreslere verilen yanıtların ve mevcut Outlook önbelleklerinin sorunsuz çalışması için önemlidir.
Kaynak domain denetleyicisine erişilemiyor
Bu hata aşağıdaki nedenlerle oluşabilir:
- Kaynak domain denetleyicisine erişim yoktur.
- DNS çözümlemesi çalışmıyordur.
- Kimlik bilgileri hatalıdır.
- RPC, LDAP veya ADWS portları kapalıdır.
- Güvenlik duvarı bağlantıyı engelliyordur.
- Forest güven ilişkisi doğru yapılandırılmamıştır.
ADMT öncesi ve sonrası doğrulama
Prepare işleminden sonra
Get-Recipient user1 |
Format-List RecipientTypeDetails,EmailAddresses,ExternalEmailAddress
Beklenen:
RecipientTypeDetails : MailUser
ADMT işleminden sonra
Get-Recipient user1 |
Format-List RecipientTypeDetails,EmailAddresses
Exchange özniteliklerinin korunmuş olması gerekir.
Taşıma tamamlandıktan sonra
Get-MoveRequestStatistics `
-Identity "user1@source.local" |
Format-List Status,PercentComplete,Error
Beklenen:
Status : Completed
ADMT ile Exchange forest’lar arası posta kutusu taşımanın önerilen sıralaması şöyledir:
1. Prepare-MoveRequest.ps1
2. ADMT ile kullanıcıyı taşı ve birleştir
3. Exchange özniteliklerini koru
4. Hedef MailUser ve SMTP adresini kontrol et
5. New-MoveRequest ile posta kutusunu taşı
6. Taşıma durumunu takip et
Bu sıranın uygulanması, hedef kullanıcı nesnesinin yanlışlıkla UserMailbox olarak oluşmasını engeller ve posta kutusunun kaynak Exchange ortamından hedef Exchange ortamına daha sağlıklı şekilde taşınmasını sağlar.
Son Yazılar
Arşivler
- Eylül 2026
- Haziran 2026
- Mayıs 2026
- Nisan 2026
- Mart 2026
- Şubat 2026
- Aralık 2025
- Kasım 2025
- Ekim 2025
- Eylül 2025
- Ağustos 2025
- Temmuz 2025
- Haziran 2025
- Mayıs 2025
- Nisan 2025
- Mart 2025
- Şubat 2025
- Ocak 2025
- Aralık 2024
- Kasım 2024
- Ekim 2024
- Eylül 2024
- Ağustos 2024
- Temmuz 2024
- Haziran 2024
- Mayıs 2024
- Nisan 2024
Kategoriler
Son yorumlar
- RDS “We can’t sign into your account”, Temp Profil Sorunu ve Çözümü için Mehmet Sait YILMAZ
- RDS “We can’t sign into your account”, Temp Profil Sorunu ve Çözümü için Can Karapınar