में सक्रिय निर्देशिका समूहों से उपयोगकर्ताओं को जोड़ना और निकालना मैं सी # में सक्रिय निर्देशिका से उपयोगकर्ताओं को जोड़ने और हटाने के लिए निम्न विधियां लिख रहा हूं।.NET
void AddUserToGroup(string userId, string groupName);
void RemoveUserFromGroup(string userId, string groupName);
इन तरीकों को कैसे कार्यान्वित करना सबसे अच्छा है?
कोडप्रोजेक्ट से कुछ कोड यहां दिया गया है। मैं नहीं देख सकता कि एडी सर्वर इन उदाहरणों में कहां निर्दिष्ट है? (क्या यह एलडीएपी प्रोटोकॉल का उपयोग करते समय .NET ढांचे द्वारा पूरी तरह से आपूर्ति की जाती है?)। क्या ये उदाहरण निम्नलिखित हैं?
public void AddToGroup(string userDn, string groupDn)
{
try
{
DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
dirEntry.Properties["member"].Add(userDn);
dirEntry.CommitChanges();
dirEntry.Close();
}
catch (System.DirectoryServices.DirectoryServicesCOMException E)
{
//doSomething with E.Message.ToString();
}
}
public void RemoveUserFromGroup(string userDn, string groupDn)
{
try
{
DirectoryEntry dirEntry = new DirectoryEntry("LDAP://" + groupDn);
dirEntry.Properties["member"].Remove(userDn);
dirEntry.CommitChanges();
dirEntry.Close();
}
catch (System.DirectoryServices.DirectoryServicesCOMException E)
{
//doSomething with E.Message.ToString();
}
}
सिस्टम की आवश्यकता है। डायरेक्टर सर्विसेज। खाता प्रबंधन केवल = = 3.5 में उपलब्ध है, बल्कि 3.0 – regex
से नीचे कोड मेरे लिए काम किया *** समूह। सदस्य। रिमूव (UserPrincipal.FindByIdentity (पीसी, उपयोगकर्ता आईडी)) *** *** के बजाय *** "group.Members.Remove (पीसी, IdentityType.UserPrincipalName, userId) ; "***। नोट: मेरा उपयोगकर्ता आईडी डोमेन नाम – Rama
हाँ के साथ संलग्न किए बिना बस "USERNAME" है, यह अधिभार काम करता है, यह भी हटाए गए कॉल भेजने से पहले उपयोगकर्ता पहचान प्राप्त करने के लिए एलडीएपी सेवा में एक अतिरिक्त कॉल है। स्पष्ट रूप से, यह संभव है कि वे कार्य में समकक्ष हों क्योंकि एपीआई शायद हटाने के पहले उपयोगकर्ता नाम के आधार पर पहचान के लिए एलडीएपी में भी कॉल करता है। –