İçerikleri sosyal medya üzerinden paylaşarak daha fazla kişiye ulaşmasına yardımcı olabilirsiniz.



Fırat Boyan 11.07.2018 1

Windows Server 2016 Active Directory Schema'da TC. Kimlik No Attribute'u Ekleme

Bu makalemde, Active Directory yapısındaki kullanıcı nesneleri için TC. Kimlik No Attribute'u nasıl oluşturulur konusuna değiniyor olacağım. Ancak makale konusuna girmeden önce bilinmesi gerekir ki Domain yapısı, dolayısı ile de Active Directory yapısı oluşturulduktan sonra Schema yapısı da oluşturulmaktadır. Ek bilgi olarak Active Directory Schema, 5 adet FSMO rolünün Forest bazında bulunan iki rolden de bir tanesidir. Active Directory Schema, Active Directory Users and Computers konsolunda yer alan tüm nesnelerin özelliklerini barındırır. Barındırdığı bu özelliklere de Attribute (öznitelik) ismi verilmektedir. Bu Attribute'ların tamamı, Class (sınıf) adı verilen sınıflar içinde yer almaktadır ki Schema yapısının ana gövdesini Class'lar, Class'ların yapısını da Attribute'lar oluşturmaktadır. Active Directory Schema içinde Class'lara ait Attribute'lar vardır ancak istersek kendimiz de ek Attribute'lar oluşturup, Class'lara bağlayarak Active Directory yapısında kullanabiliriz. Active Directory yapısındaki nesnelerden birisi olan kullanıcı nesneleri, telefon numarası, adres, şehir, telefon, ülke vb. kullanıcılara özel bilgileri barındırmaktadır yani aslında kullanıcıların kimlik kartlarıdır. Domain ortamında varlıklarını sürdürebilmeleri için de bu nesnel oluşuma ihtiyaçları vardır. Temel kullanıcı özelliklerine ek olarak, ülkemiz vatandaşlarının kullandığı TC. Kimlik No bilgilerini de Active Directory üzerinde kullanıcı özelliklerine de ekleyebiliriz.

Bilgi!: Oluşturulan Attribute'leri silmek zor olduğu için, herhangi bir yanlışlıkta sorun yaşayabilirsiniz. Bu yüzden mutlaka;

• Bu uygulamayı mutlaka test yapısında deneyerek, test edin.
• Uygulama aşamasına geçmeden Active Directory yedeği  (System State) yedeğini alın.

Mevcut Active Directory yapım aşağıdaki gibidir.

Active Directory Schema Attribute EKleme

Active Directory TC. Kimlik No Attribute'u Oluşturma

1- Atrribute ayarlarını görmek ve yenisini oluşturmak için Active Directory Schema konsoluna ihtiyacımız var. Active Directory Schema konsolu, varsayılan olarak görünür durumda değildir. Bu nedenle de Schema Master rolünü barındıran Domain Controller'a bağlanıyoruz ve RUN (çalıştır) üzerinde regsvr32 schmmgmt.dll yazarak iligli DLL'i tetikletilerek Schema konsolunu görünür hale getiriyoruz.

Active Directory Schema Attribute EKleme
Active Directory Schema Attribute EKleme

1.1- Bu işlemden sonra, MMC konsolunu açarak Schema Master konsolunu ekliyoruz. Yazımın başında Active Directory Schema yapısının, Class (Sınıf) ve Attribute (öznitelik)'lerden oluştuğundan bahsetmiştim.

2- Attribute üzerinde sağ tıklıyor, açılan menüden New > Attribute... seçeneğini seçiyorum.

Active Directory Schema Attribute EKleme

Uyarı!: Bir kez oluşturulan Attribute, pasif edilebiliyor ancak silinemiyor. Sadece üzerine yazma şansınız olduğu için oluştururken çok dikkatli olun!

Active Directory Schema Attribute EKleme

Devam etmeden önce, Root OID (Object Identifier)'nizi öğrenmek zorundayız. Bu Root OID (Object Identifier) bilgisini Attribute oluştururken kullanacağız.

Active Directory Schema Attribute EKleme

Aşağıdaki Script'i, server C:\ ana dizinine kopyalıyor, daha sonrasında da Script'imi çalıştırıyorum. Oluşan Root OID (Object Identifier) değerini bir yere not edin.

İlgili VB Script'i güvenli bir şekilde aşağıdaki butondan indirebilirsiniz.
İNDİR

2.1- Common Name alanına TCkimlikNo yazıyorum.
LDAP Display Name de Common Name ile birlikte otomatik yazılıyor.
Bu, görünür isim olmayacaktır. Sadece Attribute'a ait olan ismidir. Bu ismi daha sonra birçok ayarda ve Script içerisinde kullanacağız. Bir yere not edebilirsiniz. Kesinlikle Türkçe karakter kullanmayın!

2.1.1- Unique X500 IbjectID ise Script'ten aldığınız Root OID (Object Identifier) değeridir.

2.1.2- Son olarak da Syntax'ı belirliyoruz. Burası önemli bir alandır. Nasıl değer gireceğimizi burada belirliyoruz. TC. Kimlik numarası gibi uzun bir sayı için Case Insensitive String kullanılması uygundur. Menu'de farklı ihtiyaçlar için bir çok Syntax da yer almaktadır.

Active Directory Schema Attribute EKleme

2.1.3- tCKimlikNo isimli Attribute'umuzu oluştuduktan sonra, OK butonuna basarak işlemi sonlandırıyorum. Görüldüğü gibi ilgili Attribute oluşturuldu.

Active Directory Schema Attribute EKleme

3- Class için Attribute ekleme işleminden sonra sıra, oluşturmuş olduğumuz Attribute'u user Class'ına atama işlemine geldi.

3.1- Bunun için Classes'a tıklayıp, sağ bölümde user Class'ını bulup, çift tıklıyorum.

Active Directory Schema Attribute EKleme

3.2- Açılan user Properties penceresinde Attributes sekmesine tıklıyorum. Oluşturmuş olduğumuz Attribute'u user Class'ına atama işlemini bu sekmede gerçekleştireceğiz.

3.3- Attributes sekmesi altında Optinal bölümündeki liseteye oluşturmuş olduğumuz Attribute'u eklemek için sağdaki Add... butonuna tıklıyorum.

Active Directory Schema Attribute EKleme

3.4- Add... butonuna tıkladıktan sonra açılan Select Schema Object penceresinde oluşturmuş olduğumuz tCKimlikNo isimli Attribute'u seçip, OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

3.5- Oluşturmuş olduğumuz tCKimlikNo isimli Attribute, user Class'a eklendi. Shema Master üzerinde yapılacak işlemlerimiz bu kadar.

Active Directory Schema Attribute EKleme

4- Yapılan şema değişiklikler; Intra-site Domain Controller'larda varsayılan olarak 15 dakika, Inter-site Domain Controller'larda varsayılan olarak 180 dakika içerisinde güncellerler ancak beklemek istemiyorsanız, bu işlemi Reaload the Schema menü seçeneğini kullanarak elle de tetikleyebilirsiniz.

Active Directory Schema Attribute EKleme

TC Kimlik No Menu Item Ekleme

5- Oluşturduğumuz yeni Attribute, Active Directory User Properties üzerinde Attribute Editor sekmesi altında ilgili Attribute oluşmuş olup, artık değer girilebilecek hale gelmiştir.

Active Directory Schema Attribute EKleme

5.1- Dilerseniz, kullanımını biraz daha kolaylaştırmak amacıyla kullanıcının üzerine sağ tıkladığınızda açılan menü üzerine de yeni Attribute'müzü ekleyebiliriz. Bu işlem için bir Script'e ihityacınız var. Aşağıdaki Script'i, içerisinde kendinize uygun olarak gerekli değişiklikleri yaptıktan sonra server'da C:\ ana dizinine kopyalıyor ve çalıştırıyorum.

İlgili VB Script'i güvenli bir şekilde aşağıdaki butondan indirebilirsiniz.
İNDİR

Aşağıdaki Script satırlarında Attribute için kullandığım isimler yer almaktadır. Siz de kendi Attribute isminizi, ilgili Script kodlarını içinde bularak bu alanları değiştirebilirsiniz.


● oDisp.PutEx 3,"AttributeDisplayNames" , Array("TCKimlik,TC Kimlik No")

● sOutFile.WriteLine "MsgBox " & Chr(34) & "TC Kimlik No" & Chr(34) & " & vbCRLF & " & Chr(34) & "TC Kimlik No: " & Chr(34) & " & oUser.TCKimlik"

● sOutFile.WriteLine "temp = InputBox(" & Chr(34) & "Mevcut No: " & Chr(34) & " & oUser.TCKimlik & vbCRLF & " & Chr(34) & "Yeni Numara" & Chr(34) & ")"

● sOutFile.WriteLine "if temp <> " & Chr(34) & Chr(34) & " then oUser.Put " & Chr(34) & "TCKimlik" & Chr(34) & ",temp"

 

Aşağıdaki satırda, menüde gözükecek isim yer alır. Yine bu kısmı da istediğiniz şekilde değiştirebilirsiniz.

sNewMenu = CStr(iCount) & ",&TC Kimlik No...,hrshell.vbs"

5.2- C:\ dizinindeki Script üzerine tıkladığınızda ilgili Script çalışacaktır.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

5.3- İşlem sonunda da %SYSTEMROOT%\System32 klasörüne iki adet dosya oluşturulacaktır. Menu'den her tıkladığında bu Script'ler çalıştırılmaktadır.

Active Directory Schema Attribute EKleme

6- Active Directory Users and Computers konsolunu açıp, kullanıcı nesneleri üzerinde sağ tıkladığımda, TC. Kimlik No... isimli menü elemanının oluştuğunu göreceksiniz.

Active Directory Schema Attribute EKleme

6.1- TC Kimlik No... isimli menü elemanını tıkladığınzda da karşınıza, ilgili kullanıcının TC. Kimlik bilgilerini girebileceğiniz bir kutucuk açıkacaktır. Girişi yapıp, OK butonuna basıyorum.

Active Directory Schema Attribute EKleme

6.1- Girilen örnek TC Kimlik Numarası, User Properties (Kullanıcı Özellikleri) üzerinde Attribute Editor sekmesi altındaki tCKimlikNo Attribute alanına kaydedildi.

Active Directory Schema Attribute EKleme

TC Kimlik No Bilgilerini Active Directory Users and Computers'ta Listeleme

7- Girdiğim TC Kimlik No bilgilerinin Active Directory Users and Computers konsolunda da Name, Type, Description alanları gibi görünmesini isterseniz, ADSI Edit üzerinde yapmamız gereken işlem, oluşturduğumuz Attiribute'u burada tanımlamak olacak. Bunun için;

7.1- ADSI Edit'i açıyor, sırası ile CN=Configuration,DC=firatboyan,DC=com > CN=DisplaySpecifiers > CN=409 > CN=organizationalUnit-Display kaydına çift tıklayarak açıyorum.

Active Directory Schema Attribute EKleme

7.2- CN=organizationalUnit-Display Attribute Editor sekmesinde extraColumns Attribute'una çift tıklıyorum.

Active Directory Schema Attribute EKleme

7.3- Value to add alanına tCKimlikNo,TC Kimlik No,1,150,0 yazıp Add butonuna tıklayarak ekliyorum. Bu belirttiğim değer, Attribute'u referans alıp, belirlediğim isim altında Active Directory Users and Computers konsolunda görünecek.

Active Directory Schema Attribute EKleme

Active Directory Schema Attribute EKleme

Active Directory Schema Attribute EKleme

8- Girdiğim TC. Kimlik No bilgileri artık Active Directory Users and Computers konsolunda da görünür halde olacaktır.

Active Directory Schema Attribute EKleme

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.



Yazar Hakkında

firatboyan.com


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 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 en önde gelen entegratör firması olan Data Market bünyesinde Senior Cloud Engineer olarak çalışıyorum. Ek olarak, 2015 yılında Network Akademi bünyesinde Sistem ve Network Uzmanlık eğitimleri vermeye başladım ve 2017 yılında da eğitmenlik tecrübemi, Microsft Certified Trainer (MCT) ünvanı ile taçlandırdım. Eğitmenlik serüvenime 2021 yılından beri Bilge Adam bünyesinde MCT ünvanı ile devam etmekteyim.

YORUMLAR
Bu makaleye 1 yorum yapıldı.
Her türlü görüş ve önerilerinizi aşağıdaki yorum panelinden bırakabilir, kafanıza takılanları veya merak ettiklerinizi sorabilirsiniz.

   
   
  750 karakter yazabilirsiniz.
 
Captcha
Güvenlik kodunu BÜYÜK harflerle giriniz.
* Yorumlar, onaylandıktan sonra yayınlanmaktadır.
* E-posta, yorum onay bildirimi için gereklidir. Yayınlanmaz.


09.07.2019 Ayhan ZOR
Çok güzel ve anlaşılır bir çalışma olmuş. Bu kadar emeğe yorum yapmadan geçemedim. Emeğine sağlık...