On-Prem. Active Directory kullanıcılarınızı Microsoft 365 ortamına taşımak veya seknrokize etmek istediğinizde, On-Prem. Active Directory'deki kullanıcı UPN (Universal Principle Name) bilgisindeki Domain ile Microsoft 365'e eklediğiniz Domain aynı olmak zorundadır. Başka bir ifade ile On-Prem. Active Directory Domain yapınız, Ör. User1@firatboyan.local UPN'indeki gibi .local Suffix'ine sahipse; Microsoft 365'e eklediğiniz Domain yapınız, Ör. User1@firatboyan.com UPN'indeki gibi .com Suffix'i ile aynı olmak zorundadır. 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 * | 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 * | 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 (OU) 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.com'} -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 (OU) 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 |

Faydalı olması dileğiyle...
TAGs: Active Directory'de kullanıcı UPN değiştirme, AD User UPN değiştirme, AD Universal Principle Name değiştirme, AD UPN ekleme
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.