Active Directory ortamında User Principal Name (UPN) değişikliği, özellikle Domain geçişleri, Hybrid entegrasyonlar ve e-posta adresi standartizasyonu gibi durumlarda kritik bir işlemdir. Kullanıcıların Authentication mekanizmaları, Kerberos Ticket süreçleri ve NTLM kimlik doğrulama yapısı doğrudan bu değişiklikten etkilenir. Plansız yapılan bir değişiklik, erişim sorunlarına, uygulama bazlı Authentication hatalarına ve Entra ID senkronizasyon problemlerine yol açabilir. Bu yüzden her adımın dikkatle planlanması ve uygulanması gerekir.
Active Directory’de UPN, kullanıcının oturum açma kimliğini belirleyen temel bileşenlerden biridir. Genellikle kullanici.adi@domain.com formatında olur ve kullanıcının birden fazla Domain ortamında aynı kimlik bilgileriyle Authentication işlemini gerçekleştirmesine olanak tanır. Ancak, bazı durumlarda UPN’in mevcut Domain yapısına veya kurumsal e-posta politikalarına uygun hale getirilmesi gerekir. Özellikle birden fazla Domain içeren yapılar veya Hybrid senaryolarda, UPN değişikliği, Entra ID ile entegre çalışan Exchange Online, Microsoft Teams ve SharePoint Online gibi servislerde ciddi etkilere sebep olabilir.
En büyük zorluklardan biri, bu değişiklik sırasında kullanıcıların mevcut Authentication süreçlerinin bozulmamasını sağlamaktır. Kerberos Ticket süresi nedeniyle, değişiklik sonrası kullanıcıların eski oturumları belirli bir süre boyunca aktif kalabilir. Bu da bazen beklenmedik kimlik doğrulama hatalarına yol açabilir. Kullanıcıların oturum açma problemleri yaşamaması için, değişiklik tamamlandıktan sonra zorunlu oturum kapatma ve Ticket temizleme işlemleri yapılmalıdır. Ayrıca, Credential Cache sistemlerinin güncellenmesi gerekir, aksi takdirde eski kimlik bilgileriyle giriş yapmaya çalışan kullanıcılar hata alabilir.
Hybrid ortamlarda yapılan değişikliklerde Entra ID Sync süreçleri dikkatle yönetilmelidir. UPN değişikliğinin Azure tarafına doğru şekilde yansıması için, Delta Sync işlemi kontrol edilmeli ve gerektiğinde manuel olarak tetiklenmelidir. Aksi takdirde, bulut tabanlı servislerde oturum açma problemleri yaşanabilir. Özellikle Conditional Access kuralları, MFA politikaları ve lisans bazlı erişim modelleri bu değişiklikten etkilenebilir. Yanlış bir yapılandırma, kullanıcının e-posta hizmetine, Teams oturumuna veya OneDrive içeriğine erişimini tamamen kaybetmesine sebep olabilir.
Group Policy bazlı Authentication yöntemleri de UPN değişikliklerinden doğrudan etkilenebilir. Eğer GPO seviyesinde belirli UPN formatlarını baz alan Authentication kuralları varsa, bu değişiklik sonrasında uyumsuzluklar yaşanabilir. Özellikle Login Script’ler ve UPN bazlı erişim denetimi yapan uygulamalar için önceden testler yapılmalı, değişikliklerin etkileri detaylı şekilde analiz edilmelidir.
UPN değişikliğinin etkilediği bir diğer alan da NTFS izinleri noktasındadır. Kullanıcı bazlı Access Control List (ACL) yapılarında, Security Identifier (SID) bazlı erişim kullanılsa bile, bazı eski uygulamalar ve Network Share bağlantıları, kullanıcı Authentication sürecinde UPN’i referans alabilir. Eğer değişiklik sırasında uygun önlemler alınmazsa, belirli Network kaynaklarına erişim kaybolabilir veya yetkilendirme hataları yaşanabilir.
Özellikle büyük organizasyonlarda veya Multi-Domain yapılarında UPN değişikliği yaparken, kesinti süresini minimuma indirmek için PowerShell kullanımı büyük kolaylık sağlar. Elle yapılan değişiklikler, insan hatasına açık olduğu için, PowerShell ile toplu değişiklik yapmak hem süreci hızlandırır hem de hataları minimize eder. Ancak, bu işlemler sırasında oturum açık olan kullanıcılar için alınması gereken ek önlemler vardır. Değişiklik sonrası kullanıcıların cihazlarından yeniden oturum açmaları veya belirli servislerde kimlik doğrulama yenilemeleri gerekebilir.
İyi planlanmamış bir UPN değişikliği, Authentication süreçlerinden File Share erişimlerine, Entra ID senkronizasyonundan Group Policy Object (GPO) uyumluluğuna kadar birçok noktada ciddi sorunlara yol açabilir. Özellikle Hybrid senaryolarda her adımın dikkatlice planlanması, test ortamında denenmesi ve detaylı bir Rollback stratejisinin oluşturulması gerekir. Doğru yapılandırma ile bu süreç, kullanıcılar için herhangi bir kesinti yaratmadan sorunsuz tamamlanabilir.
Bunun için On-Prem. Active Directory kullanıcı nesneleri üzerindeki UPN bilgisine ör. firatboyan.com Domain'ini ekleyeceğiz. Birkaç Active Directory kullanıcı nesenesi için tek tek ekleme yapmak mümkün iken, onlarca hatta yüzlerce kullanıcı nesnesine tek tek eklemek oldukça zahmetli ve zaman alacak bir işlem olacağı için bu işlemi, Windows Server 2022'de PowerShell komutları ile yapacağız.
1- Öncelikle aşağıdaki komutla tüm Forest ortmanındaki UPN Suffix bilgilerini çekiyorum. Görüldüğü gibi, mevcut .local UPN Suffix bilgisi dışında ek bir UPN Suffix bilgisi bulunmuyor.
Get-ADForest | Format-List UPNSuffixes |
2- Active Directory Domains and Trusts üzerinden de kontrol ettiğimde mevcut .local UPN Suffix bilgisi dışında ek bir UPN Suffix bilgisinin bulunmadığını görebiliyorum.
3- Aşağıdaki komutla firatboyan.com UPN Suffix'ini ekliyorum.
Get-ADForest | Set-ADForest -UPNSuffixes @{add="firatboyan.com"} Get-ADForest | Format-List UPNSuffixes |
4- Aynı ekleme işlemini Active Directory Domains and Trusts üzerinden de yapabiliriz.
5- Aşağıdaki komutla tüm Active Directory kullanıcılarımın UPN bilgilerini çekiyorum.
NOT: Komut çıktısının uzamaması için -ResultSetSize 25 parametresi ile sadece ilk 25 kullanıcıyı listeledim. Makalemin ilerleyen kısımlarında da aynı parametre ile filtreleme uyguluyor olacağım.
Get-ADUser -Filter * -ResultSetSize 25 | Sort-Object Name | Format-Table Name, UserPrincipalName |
6- Aşağıdaki komutlarla tüm Active Directory kullanıcılarımın UPN bilgilerini firatboyan.com olarak değiştiriyorum. Birinci komut ile tüm Active Directory kullanıcılarımın mevcut UPN bilgilerini boşa çıkartıyorum. İkinci komut ile de yeni UPN bilgisini tanımlıyorum.
$LocalUsers = Get-ADUser -Filter {UserPrincipalName -like '*firatboyan.local'} -Properties UserPrincipalName -ResultSetSize $null
$LocalUsers | foreach {$newUpn = $_.UserPrincipalName.Replace("firatboyan.local","firatboyan.com"); $_ | Set-ADUser -UserPrincipalName $newUpn} |
7- Aşağıdaki komutla tüm Active Directory kullanıcılarımın yeni UPN bilgilerini çekiyorum.
Get-ADUser -Filter * -ResultSetSize 25 | Sort-Object Name | Format-Table Name, UserPrincipalName |
Belli Bir Organization Unit (OU) İçindeki Kullanıcıların UPN Bilgilerini Değiştirme
Yukarıdaki işlemlerde Organization Unit (OU) fark etmeksizin tüm Active Directory dizinindeki kullanıcılarımın UPN bilgilerini firatboyan.com olarak değiştirdim. Dilerseniz, sadece belli bir Organization Unit (OU) içindeki kullanıcıların UPN bilgilerini de değiştirebilirsiniz.
8- Bunun için öncelikle UPN bilgilerini değiştirmek istediğim Organization Unit'in LDAP (Lightweight Directory Access Protocol) dizin bilgilerini çekiyorum.
Get-ADOrganizationalUnit -Filter 'Name -like "*"' | Format-Table Name, DistinguishedName -A |
9- Dilerseniz Out-File C:\OrganizationUnits.txt komutu ile bir TXT ya da CVS dosyasına da yazdırıp, bir fiziksel dizin altına da yazdılabilirsiniz.
Get-ADOrganizationalUnit -Filter 'Name -like "*"' | Format-Table Name, DistinguishedName -A | Out-File C:\OrganizationUnits.txt |
10- UPN bilgilerini değiştirmek istediğim Organization Unit'in (OU) LDAP (Lightweight Directory Access Protocol) dizini içindeki kullanıcıların mevcut UPN bilgilerini çekiyorum.
Get-ADUser -Filter * -SearchBase "OU=Users,OU=IT,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local" -ResultSetSize 25 | Sort-Object Name | Format-Table Name, UserPrincipalName |
11- Aşağıdaki komutlarla tüm Active Directory kullanıcılarımın UPN bilgilerini firatboyan.com olarak değiştiriyorum. Birinci komut ile UPN bilgilerini değiştirmek istediğim Organization Unit'in (OU) LDAP (Lightweight Directory Access Protocol) dizini içindeki kullanıcıların mevcut UPN bilgilerini boşa çıkartıyorum. İkinci komut ile de yeni UPN bilgisini tanımlıyorum.
$LocalUsers = Get-ADUser -Filter {UserPrincipalName -like '*firatboyan.local'} -SearchBase "OU=Users,OU=IT,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local" -Properties UserPrincipalName -ResultSetSize $null
$LocalUsers | foreach {$newUpn = $_.UserPrincipalName.Replace("firatboyan.local","firatboyan.com"); $_ | Set-ADUser -UserPrincipalName $newUpn} |
12- Belirlemiş olduğum Organization Unit'in LDAP (Lightweight Directory Access Protocol) dizini içindeki kullanıcıların yeni UPN bilgilerini çekiyorum.
Get-ADUser -Filter * -SearchBase "OU=Users,OU=IT,OU=Istanbul,OU=Turkey,OU=Europe,DC=firatboyan,DC=local" -ResultSetSize 25 | Sort-Object Name | Format-Table Name, UserPrincipalName |
Active Directory ortamında UPN değişikliği, sadece bir isim güncellemesinden çok daha fazlasını ifade ediyor. Authentication mekanizmaları, Kerberos Ticket işlemleri, NTLM kimlik doğrulaması ve hatta Entra ID ile senkronizasyon süreçleri gibi kritik bileşenler bu değişiklikten doğrudan etkileniyor. Özellikle Hybrid yapılar veya çoklu Domain senaryolarında, UPN değişikliğinin planlanmadan uygulanması ciddi Authentication problemlerine ve kesintilere neden olabilir.
Değişiklik sırasında en önemli konulardan biri, Kerberos Ticket Cache süresi. Kullanıcı oturumları aktifken yapılan UPN değişiklikleri, oturum açma işlemlerinde gecikmelere ve erişim sorunlarına yol açabilir. Kullanıcıların oturum açma hatalarıyla karşılaşmasını önlemek için, işlem öncesinde oturumları sonlandırmak veya değişiklik sonrası zorunlu bir oturum kapatma ve yeniden giriş politikası belirlemek gerekiyor. Ayrıca, Credential Cache sistemlerinin (örneğin, Windows Credential Manager) güncellendiğinden emin olunmalı, aksi takdirde oturum açma denemeleri eski kimlik bilgileriyle devam eder.
Hybrid senaryolarda Entra ID ile yapılan senkronizasyon süreçleri de dikkatle ele alınmalı. UPN değişikliği sonrası, Entra ID Connect tarafından gerçekleştirilen Delta Sync işlemlerinin hatasız tamamlandığından emin olmak gerekiyor. Yanlış yapılandırılmış bir Sync. süreci, kullanıcı hesaplarının bulut ortamında eşleşmesini bozarak Exchange Online, SharePoint Online, Teams ve diğer Microsoft Cloud servisleri gibi hizmetler Entra ID (eski adıyla Azure AD) üzerinden kimlik doğrulama yapar. Bu yüzden UPN değişiklikleri, Entra ID ile eşleşen kullanıcı hesaplarını doğrudan etkileyebilir. Ayrıca, Conditional Access kurallarında UPN değişikliğine bağlı olarak etkilenen politikalar gözden geçirilmeli.
UPN değişikliği, Group Policy bazlı oturum açma politikalarını da doğrudan etkileyebilir. Özellikle belirli UPN formatlarını baz alan Login Script'ler veya belirli Domain'lere bağlı Authentication kuralları değişiklikten sonra uyumluluk sorunları çıkarabilir. Active Directory ortamında GPO bazlı kimlik doğrulama süreçlerinin, kullanılan oturum açma yöntemlerine göre test edilmesi ve log'ların takip edilmesi gerekiyor.
Planlama yapılmadan gerçekleştirilen UPN değişiklikleri, sistem genelinde oturum açma hatalarından tutarsız NTFS izin yapılandırmalarına kadar birçok soruna neden olabilir. Sağlam bir test ortamında gerçekleştirilen ön denemeler, log takibi ve gerektiğinde rollback mekanizmasının hazır bulundurulması, olası aksaklıkları en aza indirmek için kritik önem taşıyor.
Faydalı olması dileğiyle...
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.