Önemli Notlar:
Schema değişikliği tüm AD Forest’ı etkiler.
Schema değişikliği geri alınamaz
Oluşturulan attribute silinemez.
Schema değiştirmeden önce Active Directory’i yedekleyebilirsiniz.
Schema’da değişiklik yapabilmek için işlem yapacağınız kullanıcıyı Schema Admins grubuna eklemeniz gerekmektedir.

Active Directory sınıfı attributeları, AD şemasında yapılandırılır. Schema’yı düzenleyebilmek için aşağıdaki komutunu uygulayın.
regsvr32 schmmgmt.dll

Çalıştıra mmc.exe yazın ve yeni bir MMC konsolu açın

File -> Add/Remove Snap-in e tıklayın.

Açılan “Add or Remove Snap-ins” modalında “Active Directory Schema” seçip, “Add” butonuna tıklayın ve ardından “OK” butonuna tıklayın.


Console Root altında bulunan “Active Directory Schema” nın yan tarafında bulunan ok yardımı ile Active Directory Schema’yı genişletin.
Attributes -> sağ tık -> Create Attribute yolu izlenir.

Active Directory Schemasını değiştirmenin kalıcı bir işlem olacağı konusunda bir uyarı popupı karşımıza gelir “Continue” diyerek devam edilir.

Açılan “Create New Attribute” modalında ilgili parametrelerin doldurulması gerekir.
Common Name: Attribute adında boşluk olmaması gereklidir.
LDAP Display Name: Bu değer CN belirlendikten sonra otomatik olarak doldurulur.
X500 Object ID: AD şemasındaki benzersiz attribute kimliğidir. Bu parametre değerini oluşturmak için aşağıdaki powershell betiğini kullanabilirsiniz.
Syntax: Attribute türüdür. (Boolean, Unicode String, Numeric String, Integer, Large Integer, SID, Distinguished Name, vb.)
$Prefix="1.2.840.113556.1.8000.2554"
$GUID=[System.Guid]::NewGuid().ToString()
$Parts=@()
$Parts+=[UInt64]::Parse($guid.SubString( 0,4),"AllowHexSpecifier")
$Parts+=[UInt64]::Parse($guid.SubString(4,4),"AllowHexSpecifier")
$Parts+=[UInt64]::Parse($guid.SubString(9, 4),"AllowHexSpecifier")
$Parts+=[UInt64]::Parse($guid.SubString(14,4),"AllowHexSpecifier")
$Parts+=[UInt64]::Parse($guid.SubString(19,4) ,"AllowHexSpecifier")
$Parts+=[UInt64]::Parse($guid.SubString(24,6),"AllowHexSpecifier")
$Parts+=[UInt64]::Parse($guid.SubString(30,6)," AllowHexSpecifier")
$OID=[String]::Format("{0}.{1}.{2}.{3}.{4}.{5}.{6}.{7}",$prefix,$Parts[0],$Parts[1],$Parts[2],$Parts[3],$Parts[4],$Parts[5],$Parts[6])
$oid


X500 Object ID oluşturduğumuza göre “Create New Attribute” modalında bulunan alanlar doldurulur ve “OK” butonuna tıklanır.

User sınıfına oluşturduğumuz attribute u eklememiz gerekiyor. Bunun için aşağıdaki adımları uygulayabilirsiniz.
MMC konsolunda Console Root -> Active Directory Schema altında bulunan Classes genişletilir.

“user” sınıfı bulunur ve sağ tık properties’e tıklanır.

Açılan “user Properties” modalında “Attributes” tabına tıklanır. Attributes tabında bulunan “Add” butonuna tıklanır ve “Select Schema Object” modalında oluşturulan attribute seçilir ve “OK” butonuna tıklanır. OK butonuna tıklandıktan sonra “Optional” yanında bulunan kutucukta seçilen attribute değerinin görüntülenmesi beklenir.

Yukarıdaki işlemler tamamlandıktan sonra çalıştıra services.msc komutu girilir.
Açılan services ekranında “Active Directory Domain Services” servisi bulunur ve bu servis restart edilir.

Active Directory Domain Services” servisi restart olduktan sonra “Active Directory Users and Computers” açılır.
View tabında “Advanced Features” seçilir.
Bir kullanıcının üzerinde sağ tıklanıp, properties modalı açılır ve “Attributes Editor” tabına tıklanır.
Eklenen attribute’un görüntülenmesi beklenir.