2014-11-05 160 views
2

目前正在自動創建Active Directory用戶,但我無法弄清楚如何更新鏈接圖像中指示的字段。 (I不能附加圖像,因爲我有少於10個)image更新Active Directory用戶登錄域名

我可以更新由所述用戶登錄名(userprincipal被設置爲適當的用戶的userprincipal對象的一個​​實例):

userPrincipal.UserPrincipalName = logonName 

,我可以更新其他類似的用戶屬性如(用戶位置是DirectoryEntry的實例,它指向用戶的目錄位置)職位:

(userLocation.Properties["title"]).Value = title; 

但不管如何我嘗試和調整,我一直未能弄清楚如何更新該特定字段。任何幫助是極大的讚賞!

回答

0

在設置它之前,您必須知道屬性名稱。 有可能在活動目錄中的一些從用戶界面設定,有些是從別的地方設置的屬性100S和100S,無論 您可以檢查做名的屬性如下

DirectoryEntry directoryEntry = new DirectoryEntry(ConnectionString, ProviderUserName, ProviderPassword, AuthenticationTypes.Secure); 
/******************************/ 

DirectorySearcher search = new DirectorySearcher(directoryEntry); 
search.Filter = "(&(objectClass=user)(sAMAccountName=" + username + "))"; 
search.CacheResults = false; 

SearchResultCollection allResults = search.FindAll(); 
StringBuilder sb = new StringBuilder(); 

foreach (SearchResult searchResult in allResults) 
{ 
    foreach (string propName in searchResult.Properties.PropertyNames) 
    { 
     ResultPropertyValueCollection valueCollection = searchResult.Properties[propName]; 
     foreach (Object propertyValue in valueCollection) 
     { 
      sb.AppendLine(string.Format("property:{0}, value{1}<br />", propName, propertyValue)); 
     } 
    } 
} 

return sb.ToString(); 

這將在一些用戶的所有活動目錄您提供

之後,你就可以將所有你想,因爲你有屬性名稱是可供用戶

+0

好的性能,所以這實際上幫助的結果相當多。讓我們更容易瞭解我可以爲用戶設置的屬性以及它們已經存在的價值。比梳理msdn上所有可能的活動目錄屬性要好得多。但是,解決方案只是傳遞不同的用戶主名稱。在AD GUI中,它看起來像登錄名和域是兩個單獨的字段/屬性,但它們都由userprincipalname修改。所以我的問題是通過將userprincipal名稱設置爲'[email protected]'而不是'test.test'來解決的。再次感謝你的幫助! – ImNotADrugDealer 2014-11-05 19:57:03

相關問題