2009-07-29 13 views
6

あなたがsimiple構文を使用してActive Directoryに接続しているとしますActive Directory内のユーザーオブジェクト属性をクリアするにはどうすればよいですか?

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

今、あなたは、そのユーザーの属性を見たいと思って、mail属性を言う:

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

今どのように私は削除することができますメール属性値?

答えて

13

非常に一般的ではありませんが、かなりシンプルになっています。

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

メソッド名を使用してInvokeを使用せずに完璧なソリューション。乾杯! – jamesbar2

+0

年後、クリティカルなシナリオでも役立ちます。よろしく。 –

+1

ありがとうございました!私はなぜ.Clear()がうまく働いてuserentry.Properties ["mail"]を使っているのか疑問に思う。Value = ""うまくいかない。 –

0

ないユーザーオブジェクトは、通常、会社のスキーマに従うが、おそらく次のようなものが動作しますので、あなたがそれを削除することができていることを確認してください:

userEntry.Properties["mail"] = null; 

または多分:その後、

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

userEntry.CommitChanges(); 
関連する問題