Active Directory Users and Computers konsolunda EmployeeID nasıl gösterilir?

Bir kullanici objesinin bir çok attribute u mevcut ve bu attributelarin bir çogunu Active Directory Users and Computers (dsa.msc veya ADUC) konsolunu kullanarak görmemiz ve set etmemiz mümkün. Asagidaki örnekte görebileceginiz gibi bir kullanicinin özelliklerini açtigimizda bir çok tab mevcut ve her bir tab üzerinden bir çok attribute u görmek ve modifiye etmek mümkün.

image_thumb[1]

Ancak bazi kurum ve kuruluslarin ADUC içerisinden görülemeyen attributelari da kullanma ihtiyaçlar doguyor bunlarin baslicalari “employeeID” ve “employeeNumber”. Bu ihtiyaçta olan kurum ve kuruluslar bu attributelarin ADUC içerisinde görünür olmalarini istiyorlar ancak bunu saglamak sanildigi kadar kolay degil, normal sartlarda bunun için özel bir DLL yazilip ADUC konsoluna register edilmesi gerekir, bunu yapmak isteyenler için detaylar asagidaki linklerde mevcut:

Create your Own Custom DLL and Plug into Active Directory Users and Computers to view the Newly Created Attribute

Active Directory Users and Computers Property Sheets (Windows)
https://msdn.microsoft.com/en-us/library/ms674989.aspx

Extending the Active Directory Users and Computers Snap-in
https://msdn.microsoft.com/en-us/library/aa814681(VS.85).aspx

Property Pages for Use with Display Specifiers
https://msdn.microsoft.com/en-us/library/ms677632(VS.85).aspx

Implementing the Property Page COM Object
https://msdn.microsoft.com/en-us/library/ms677109(VS.85).aspx

Example Code for Implementation of the Property Sheet COM Object
https://msdn.microsoft.com/en-us/library/ms676867(VS.85).aspx

Step-by-Step Guide to Using Active Directory Schema and Display Specifiers
https://technet.microsoft.com/fr-fr/library/bb727064%28en-us%29.aspx

 

Ancak yazilim bilgisi gerektiren bu is birçok kisi için gereginden fazla zor olabilir, bu sebeple bu makalede bu isi çok kisa sürede yapabileceginiz 2 alternatif çözüm önerisi sunacagim, bu sayede belki sizi az da olsa bir yükten kurtarmis olabilirim. Winking smile

Çözüm 1: ”istenen attribute un ADUC da context menü de çikarilmasi”

Bu islem 2 asamada gerçeklesiyor: öncelikle “employeeID” attribute una hem yazan, hemde bu attriubte daki degeri okuyan basit bir script gerekiyor, bunun için asagida ekledigim script örnegini kullanabilirsiniz. Çizgilerin arasinda kalan kismi kopyalayin ve notepad de “employeeID.vbs” olarak kaydedin.

---------

Dim objEmployeeID
Dim objSelectedUser
Dim strNewEmployeeID
Set objEmployeeID = Wscript.Arguments
Set objSelectedUser = GetObject(objEmployeeID(0))
strNewEmployeeID = InputBox("Employee ID: " & objSelectedUser.employeeID & vbCRLF _
& vbCRLF _
& "Yeni bir Employee ID girmek için," _
& " asagidaki kutucuga numarayi yazin" _
& " ve OK e basin.")
if strNewEmployeeID <> "" Then
objSelectedUser.Put "employeeID",strNewEmployeeID
end if
objSelectedUser.SetInfo

---------

image_thumb[3]

Bir sonraki adimda kaydettigimiz “employeeID.vbs” dosyasini domainimizde bulunan herhangi bir Domain Controller üzerinde bulunan NETLOGON paylasimina kopyalayin, böylelikle buradan bütün Domain Controller lara replike olacaktir. Asagida yine buna örnek bir ekran görüntüsü:

image

Bu adimlari tamamladiktan sonra sirada ADUC un context menüsünde bu script için bir kayit girme islemi var ve bunun için Active Directory databaseine ufak bir ekleme yapmamiz gererkiyor. Bu islem için Adsiedit.msc yi kullanacagiz ancak daha önce kullanmadiysaniz bu tool u biraz incelemenizi öneririm, Active Directory de attribute seviyesinde modify islemi yapmamiza olanak taniyan bu tool hem çok kullanisli ama ayni zamanda çok tehlikeli, bilinçsizce yapilacak bir degisiklik production ortaminizda büyük sorunlara sebep olabilir. Adsiedit.msc 2008 ve sonrasindaki tüm Domain Controller larda inbox geliyor ancak daha önceki isletim sistemleri için bu tool u support tools içerisinden kuruyor ve yine çalistirmadan önce register etmeniz gerekiyor detaylar için asagidaki link i inceleyebilirsiniz.

ADSI Edit (adsiedit.msc)
https://technet.microsoft.com/en-us/library/cc773354(WS.10).aspx

Tool u çalistirmak için Baslat –> çalistir üzerinden (Start –> Run) adsiedit.msc yazmaniz yeterli olacaktir.

image

Ardindan açilacak konsol ekraninda ADSI Edit yazisi üzerinde sag tus ve “Connect to…” ya basin.

image

Connection Settings ekraninda “Select a well known Naming Context” menüsünden “Configuration” i seçin ve OK e basin.

image

Böylece Configuration Naming Context e baglanmis oluyoruz, burada degisikligi yapacagimiz “user-Display” objesini bulacagiz. Bu obje DisplaySpecifiers container i içerisinde bulunabilir, burada dikkat etmemiz gereken nokta kurulu isletim sistemi hangi dilde kurulu ise bu dilin kodu olan container içerisinde bulunan “user-Display” objesinde bu degisikligi yapmamiz. Örnegin bendeki isletim sisteminde dil ayarlari US-English oldugu için gidecegim container in kodu 409 olacak. Display Specifiers hakkinda daha detayli bilgiye asagidaki linkten ulasabilirsiniz.

Display Specifiers
https://msdn.microsoft.com/en-us/library/ms675905(VS.85).aspx

Bu islem esnasinda sikinti yasamamaniz adina yine detayli bir görseli ekliyorum; böylece 5 adimda “user-Display” objesini bulacaksiniz.

image

Bu asamadan sonra “user-Display” objesinin üzerinde sag tus ile özellikler (Properties) menüsüne girin. Karsimiza bu obje nin tüm attribute larini tek tek gösteren bir ekran çikacak ve artik buradan istedigimiz ayari yapmamiz mümkün. Ihtiyacimiz olan attribute “adminContextMenu”. Bu attribute karsimiza çikan listede ilk sirada çikacak.

image

Bu attribute içerisine asagidaki satiri giriyorsunuz, unutmayin domain adi sizin domain adiniz olacak. Bunun için attribute a çift click yapmaniz yeterli.

  • ,&Employee-ID,\\contoso.com\netlogon\employeeID.vbs

Açilan ekrana “Value to add:” kisminda yukaridaki satiri sizin domain isminizle girip add diyoruz ve OK ile kapatiyoruz. Buna dair yine bir ekran örnegini asagida ekliyorum.

image

Tüm pencereleri kapattiktan sonra islem tamalanmis oluyor, artik yeni ayari ADUC ile kullanabilirsiniz. Yapmaniz gereken tek sey ADUC u açip bir kullanici üzerinde sag tus a basmaniz böylece yeni ekledigimiz “EmployeeID” seçenegi context menüde bize yansiyacak.

image

Çalistirmaniz durumunda, hazirladigimiz script i tetikleyecektir. Bu script ile varsa bu kullanicin Empoyee ID sini görmemiz veya yeni bir Employee ID set etmemiz mümkün.

image

Bu örnegi diger attribute lar içinde kullanmaniz mümkün. Yapmaniz gereken sadece script üzerinde ufak degisiklikler yapmak. Simdi sira diger çözüm önerisinde.

 

Çözüm 2: ”ADUC içerisinde gelen Attribute Editor ün kullanilmasi”

Bu çözüm önerisi ilkine göre nispeten daha kolay olsa da her ortamda uygulanabilir degil, bunun için ortamda en az 2008 bir Domain Controller inizin olmasi gerekiyor. Bu da Active Directory forest inizin schema seviyesinin en az 2008 seviyesinde olmasini zorunlu kiliyor. Eger Vista ve sonrasi bir isletim sistemi kullaniyorsaniz, ancak daha yapiya 2008 veya 2008 R2 bir DC kurmadiysaniz yani Active Directory forest inizin schema seviyesi 2008 in altinda ise asagidaki linkte bulunan adimlari kullanarak “Attribute Editor” un çalismasini saglayabilirsiniz.

RSAT and the missing Attribute Editor tab [solution]
https://social.technet.microsoft.com/forums/en-US/winserverManagement/thread/6e6ef6bd-b5c9-4f16-b346-097832e3b93c/

Burada verdigim örnek Active Directory forest inizin schema seviyesinin en az 2008 seviyesinde oldugu varsayimi üzerine. Yapimizda bulunan Windows Server 2008 veya Windows Server 2008 R2 Domain Controller a baglanip “Active Directory Users and Computers” (ADUC veya dsa.msc) konsolunu açiyoruz. Menü de bulunan “View” seçeneginden “Advanced Features” seçenegine tik atiyoruz. (bu islemi RSAT kurulu bir client üzerinden de yapabiliriz.)

image

Bu islemi yaptiktan sonra artik kullanicilarin özelliklerini açtigimizda “Properties” karsimiza ekstra tab lar gelecek bu tab lardan birtanesi de “Attribute Editor” tab i.

image

Kullanicinin, kullanilan ve kullanilmayan tüm attribute larini buradan görmek ve izin verilenleri modifiye etmek mümkün. Böylece “employeeID” veya “employeeNumber” gibi attribute lari buradan takip etmek veya modifiye etmek çok basit bir hale geliyor.

NOT: Kullaniciyi eger ADUC da find ile bulup oradan özelliklerini açarsaniz “Attribute Editor” tab ini göremeyeceksiniz., Bu bir bug Smile ve düzeltilecekler arasinda duruyor ve bir sonraki isletim sisteminde düzeltilmesi planlaniyor. Alternatif olarak Windows Server 2008 R2 ile gelen “Active Directory Administrative Center” kullanilabilir.

image 

Istedigimiz kullaniciyi arayip bulduktan sonra buradan özelliklerine girip (Properties).

image

Açilan ekranda “Extentions” üzerinden “Attribute Editor” e ulasmak mümkün.

image

Bu adim ile beraber 2. alternatif çözüm önerimi de sunmus oldum.

 

EK BILGI:

Eger attribute ve objeler hakkinda biraz daha detayli bilgi istiyorsaniz daha önce yazmis oldugum bir makaleden faydalanabilirsiniz.

Active Directory Schema nedir? Forest iniz Hangi Schema Seviyesinde?
https://blogs.technet.com/b/tunagezer/archive/2011/05/28/active-directory-schema-nedir-forest-n-z-hangi-schema-seviyesinde.aspx

 

/Tuna Gezer