Active Directory Domain yapısı içerisindeki objelerin her birinin benzersiz birer kimlik numarası vardır. Bu benzersiz kimlik numaraları, bir Active Directory nesnesi oluşturulduğunda otomatik olarak atanır ve bu değişken, benzersiz numaralara Relative Identifier (RID) adı verilmektedir. Relative Identifier (RID) numaraları atanırken, Active Directory nesnesinin oluşutuğu Domain altında ilgili Domain'in kimlik numarasıyla beraber atanır ki buna da Security Identifier (SID) denir. Her Domain'in kendine ait sabit değerde bir Security Identifier (SID) numarası vardır ve atanan her Relative Identifier (RID) numarası, bu Security Identifier (SID) numarası altında atanır. İşte bu noktada, Active Directory ortamında oluşturulan nesnelere RID numarası ataması işlemini bu rol gerçekleştirir.
RID Master FSMO rolü, varsayılan olarak Domain yapısının ilk kurulduğu Primary Domain Controller üzerindedir. RID Master FSMO rolünü tutan Domain Controller, kendi üzerindeki RID havuzunda 1,073,741,823 (1 milyar 73 milyon 741 bin 823) adet RID numarası barındırır ki bu rakam, 2,147,483,647 (2 milyar 147 milyon 483 bin 647) üst sırınına kadar artırılabilmektedir. Domain ya da Forest ortamındaki RID Master FSMO rolünü tutmayan diğer Domain Controller'lar üzerlerinde 500 adet RID numarası bulunurlar (Windows Server 2016 ile birlikte bu sayı 500'e çıkartılmıştı) ve bu RID Master FSMO rolünü tutmayan Domain Controller'lar, bu sayının %50'si tükendiğinde RID master FSMO rolünü üzerinde tutan Domain Controller ile iletişime geçerek, tekrar bir 500'lük RID talebinde bulunurlar. Tüm bu işlemleri yerine getiren RID Master FSMO rolüdür. Bu rol, Domain bazlı olup, Forest ortamındaki tüm Domain'lerde bulunur.
RID Matser'ı barındıran Domain Controller'ın işlevsiz kalması ve yapınızdaki herhangi bir diğer Domain Controller'ın da barındırdığı bu sınırlı RID numarasının tükenmesi durumunda, RID numarasının tükendiği Domain Controller üzerinde yeni Active Directory nesneleri oluşturulamayacaktır ve the directory service has exhausted the pool of relative identifiers hatası oluşacaktır.
Relative Identifier (RID) ve Security Identifier (SID) Numaraları Nasıl Bulunur?
Active Directory içindeki nesnelerinin SID numaralarını görebilmek için CMD üzerinde aşağıdaki komutu yazmanız yeterlidir. Active Directory üzerindeki tüm nesnelerinin SID numaralarını listeleyecektir.
dsquery * -attr objectsid -filter objectcategory=user |
Prefix |
Domain SID (Security Identifier) |
RID (Relative Identifier) |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1103 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1104 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1105 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1106 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1107 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1108 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1109 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1110 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1111 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1112 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1113 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1114 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1115 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1116 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1117 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1118 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1119 |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1120 |
Yukarıdaki SID numaralarından bir tanesini örnek baz alacak olursak;
Prefix |
Domain SID (Security Identifier |
RID (Relative Identifier) |
S-1-5-21 |
3310300546-3177019570-1523761220 |
1105 |
1- S-1-5-21: standart bir ön ektir.
» 1: versiyon numarasıdır ve Windows NT 3.1 versiyondan bu yana hiç değişmeyen bir bildiri.
» 5: SID'nin NT tarafından atandığını gösteren tanımlamadır.
» 21: yine aynı şekilde NT tarafından atanan bir ön ektir.
2- 3310300546-3177019570-1523761220: Domain'e özgü 32 Bit'lik bir kimlik numarasıdır ve Domain'i temsil eder. Domain ortamı kurulduğunda otomatik olarak oluşur ve her ve Domain'deki tüm nesneler için aynı numara geçerlidir.
3- 1105: Domain içindeki her nesnenin değişken kimlik numarasıdır. İşte RID-Relative Identifier de budur. Buradaki 1105 RID numarası ise örnektir ve RID-Relative Identifier numaraları hiçbir zaman aynı olmaz ve kullanılan bir RID numarası, bir daha asla kullanılmaz.
Bu SID numarasına bağlı olan 1105 no'lu RID'in, Active Directory ortamında hangi kullanıcıya ait olduğunu da
wmic useraccount get name,sid |
Aşağıdaki yordamde ise direlt olarak SID bilgisini sorguya iliştirerek ilgili kullanıcının kullanıcı adını öğrenebilirsiniz.
wmic useraccount where sid="S-1-5-21-3310300546-3177019570-1523761220-1105" get name |
Görüldüğü üzere ilgili SID numarasının User3 kullanıcısına ait olduğunu görebiliyoruz.
Active Directory üzerinden, kullanıcısının özelliklerinden Attribute Editor sekmesi üzerinde objectSid bilgisini görüntülediğimde de aynı sonucu görebilmekteyim.
Konuyla iligli olarak; Active Directory ortamında kullanıcı nesnesi (User Object) oluştururken karşılaşılan, The directory service has exhausted the pool of relative identifiers Hatası ve Çözümü konulu makalemi de okumanızı tavsiye ederim.
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.
1985 yılında Alanya'da doğdum. İlk, orta ve lise öğrenimimi Alanya'da tamamladım. Liseden mezun olduktan sonra Akdeniz Üniversitesi Bilgisayar Teknolojisi Ön Lisans programına yerleştim ve bu programdan mezun oldum. Ön Lisans programından mezun olduktan bir süre sonra Dikey Geçiş Sınavı (DGS) ile İstanbul Teknik Üniversitesi (İTÜ) Bilgisayar Mühendisliği Lisans programına yerleştim.
2003 yılından beri Bilgi Teknolojileri sektöründe Sistem ve Network alanlarında çalışıyorum. Bir çok firma bünyesinde onlarca farklı projelerde yer alarak bu alanda yıllar içinde ciddi bir bilgi birikimi ve deneyimler kazandım. Bilgi Teknolojileri sektöründeki profesyonel çalışma hayatımın uzunca bir dönemini entegratör firma bazında, ağılıklı olarak Microsoft ürünleri üzerine danışman olarak sürdürüyor ve yüksek seviyeli projeler geliştiriyorum. Uzunca bir süredir de Türkiye'nin önde gelen entegratör firmalarından olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum.
Ek olarak, 2015 yılında Network Akademi bünyesinde Microsoft Certified Trainer (MCT) ünvanı ile Sistem ve Network Uzmanlık eğitimleri vermeye başladım. Sistem ve Network Uzmanlığı alanındaki eğitmenlik serüvenime Network Akademi bünyesinde devam etmekteyim.