C# ile Active Directory Kullanıcı Bilgilerini Güncelleme (Ofis,Konum vb.)

C# ile Active Directory kullanıcılarının birçok bilgisi güncellenebilmektedir. Bunların başında ad soyad, telefon ve e-mail bilgileri gelmektedir. Bunların haricinde adres, ünvan, ofis, konum ve benzeri diğer bilgiler de güncellenebilmektedir.

Temel bilgileri güncellemek için PrincipalContext ve UserPrincipal class’ı yeterli iken daha geniş yelpazede güncelleme yapabilmek için DirectoryEntry class’ı da projeye eklenmelidir. Bunun için “Add Reference” ile projenize System.DirectoryServices ve System.DirectoryServices.AccountManagement referanslarını ekleyiniz. Alttaki Kod bloğunda UserPrincipal ile kullanıcının bilgilerinin alınması ve güncellenmesi sağlanmaktadır. Örneğimizde  temel bilgilerin yanı sıra “physicalDeliveryOfficeName”  ofis / konum bilgisi de güncellenecektir. Bu ifadeye property name denilmektedir. Hangi property’lerin olduğuna arama motorunda “AD domain user object” incelenerek bakılabilir.

(daha&helliip;)

C# ile Active Directory Kullanıcı Sorgulama

C# ile Kullanıcı sorgulama işlemleri Framework 3.5 den itibaren PrincipalContext ve UserPrincipal ile kolay bir şekilde yapılmaktadır. Eskiden DirectoryEntry, DirectorySearcher ile sorgulama yapılmaktaydı ve işlem oldukça zordu. Principal ile bu konuya kolaylık kazandırılmış olduğu görülmektedir.

Öncelikle PrincipalContext class’ından bir obje oluşturulur ve domain bilgileri girilir. Domain Bilgilerinde ContextType enum’u ile erişilen kaynağın bir domain olduğu belirtilmelidir. Domain adresi olarak örneğimizde domain.local kullandık, kullanıcı adı ve şifre (username,password) olarak standart yetkiye sahip bir kullanıcı hesabının bilgileri girilebilir. (domain_standart_user: herhangi bir standart kullanıcı, domain_standart_user_pass: yazdığınız kullanıcının şifre bilgisi)

(daha&helliip;)

C# ile Active Directory Bilgisayarları Üzerinde İşlemler

Active Directorydeki bilgisayarların listesini alarak, bazı bilgisayarlar üzerinde toplu işlem yapmak istiyorsak PrincipalSearcher class’ı ile FindAll metodunu kullanmamız gereklidir.

Tek bir bilgisayarı arıyorsak FindOne metodu daha kullanışlıdır. Aşağıda toplu ve tek olarak arama, listeleme ve bilgisayarı enable/disable etme örnekleri gösterilmiştir.

Enable disable örnekleri dışında bilgisayara ait başkaca bilgileri görme veya değiştirme şansınız vardır. Bunları Msdn makalelerinde bulabilirsiniz.

(daha&helliip;)