2009-07-29 9 views
6

simdid sözdizimini kullanarak Active Directory'ye bağlandığınızı varsayalım:Active Directory'de bir kullanıcı nesne özniteliğini nasıl temizlerim?

string adPath = "LDAP://server.domain.com/CN=John,CN=Users,dc=domain,dc=com"; 
DirectoryEntry userEntry = Settings.GetADEntry(adPath); 

Şimdi bu kullanıcı için bir öznitelik görmek istiyorsanız, mail özniteliğini söyleyin:

Console.WriteLine("User's mail attribute is " + userEntry.Properties["mail"]); 

Şimdi postayı nasıl silebilirim özellik değeri

cevap

13

Oldukça basit bir şekilde kullanılsa da, çok sık kullanılmıyorsa da ...

string adPath = "LDAP://server.domain.com/CN=John,CN=Users,dc=domain,dc=com";DirectoryEntry userEntry = Settings.GetADEntry(adPath); 
userentry.Properties["mail"].Clear(); 
userentry.CommitChanges(); 
+0

Bir yöntem adıyla Invoke kullanmadan mükemmel bir çözüm. Şerefe! – jamesbar2

+0

Yıllar sonra ve kritik bir senaryoda hala faydalıdır. Saygılarımızla. –

+1

Teşekkür ederim! Merak ediyorum neden .Clear() çalışıyor ama userentry.Properties ["mail"] kullanıyor. Value = "" işe yaramaz. –

0

emin değil kullanıcı nesneler genellikle bir şirket diline uygun ama belki aşağıdaki gibi bir şey çalışacak beri bunu silebilirsiniz:

userEntry.Properties["mail"] = null; 

ya da belki: o zaman

userEntry.Invoke("Put", "mail", null); 

:

userEntry.CommitChanges(); 
İlgili konular