2014-10-03 57 views
0

我對AD中的用戶使用Principal Extensions來訪問通常不由UserPrincipal檢索的屬性。我的自定義屬性定義如下:如何使用ExtensionSet清除/刪除ActiveDirectory屬性

[DirectoryProperty("facsimileTelephoneNumber")] 
    public string FaxNumber 
    { 
     get 
     { 
      if (ExtensionGet("facsimileTelephoneNumber").Length != 1) 
       return null; 
      return (string)ExtensionGet("facsimileTelephoneNumber")[0]; 
     } 
     set 
     { 
      ExtensionSet("facsimileTelephoneNumber", value); 
     } 
    } 

如何用ExtensionSet清除屬性?如果我輸入null或空字符串,我幾乎總是會得到這個錯誤信息:「爲目錄服務指定的屬性語法無效。」這聽起來像你應該清除財產,但我不確定如何與ExtensionSet一起工作。

回答

1

問題是我沒有發回的陣列,我只發送回的值,而不是一個陣列:

[DirectoryProperty("facsimileTelephoneNumber")] 
    public string FaxNumber 
    { 
     get 
     { 
      if (ExtensionGet("facsimileTelephoneNumber").Length != 1) 
       return null; 
      return (string)ExtensionGet("facsimileTelephoneNumber")[0]; 
     } 
     set 
     { 
      ExtensionSet("facsimileTelephoneNumber", string.IsNullOrEmpty(value) ? new string[1] {null} : new string[1] {value}); 
     } 
    }