private List <string> GetSpecificObjects( List <string> objectsNames, StringBuilder allObjectsFilter, bool includeValidObjectsOnly) { DirectoryEntry de; List <string> specificObjects = new List <string>(); try { SearchSpecificObjects(allObjectsFilter, objectsNames); if (DirectorySearchSession.LastResults != null) { foreach (SearchResult Object in DirectorySearchSession.LastResults) { de = Object.GetDirectoryEntry(); if (!includeValidObjectsOnly || IsValidADsObject(de.NativeObject)) { specificObjects.Add( DirectoryServicesUtils.GetObjectAccountName(de, AccountNameProperty)); } } } } catch (Exception exc) { Log.WriteWarning("Failed to obtain domain objects. Details : {0}", exc.Message); } return(specificObjects); }
protected void GetUserMembership(IADsGroup group, string userName, string propertyName, List <string> userGroups) { try { string userAccountName; string groupAccountName = String.Empty; IADsMembers membership = group.Members(); foreach (object obj in membership) { userAccountName = DirectoryServicesUtils.GetObjectAccountName((IADs)obj, propertyName); if (StringUtil.CompareIgnoreCase(userAccountName, userName)) { if (!StringUtil.IsStringInitialized(groupAccountName)) { groupAccountName = DirectoryServicesUtils.GetObjectAccountName(group, propertyName); } userGroups.Add(groupAccountName); } } } catch (Exception exc) { Log.WriteWarning("Failed to obtain user membership. Details : {0}", exc.Message); } }
public static string[] GetUserGroups(string fullAccountName) { string serverName; string userName; if (DirectoryServicesUtils.ParseAccountName(fullAccountName, out serverName, out userName)) { return(GetUserGroups(serverName, userName)); } else { return(new string[] { }); } }
public BaseDirectoryServices(string serverName) { m_serverName = serverName; if (DirectoryServicesUtils.IsLocalMachine(serverName)) { m_directorySearchRoot = new DirectoryEntry(DirectoryServicesUtils.LOCAL_SEARCH_PROTOCOL + serverName + ",Computer"); } else { m_directorySearchRoot = new DirectoryEntry(DirectoryServicesUtils.DOMAIN_SEARCH_PROTOCOL + serverName); } }
protected void GetUserMembership(IADsUser user, string propertyName, List <string> userGroups) { try { IADsMembers membership = user.Groups(); foreach (IADsGroup group in membership) { userGroups.Add(DirectoryServicesUtils.GetObjectAccountName(group, propertyName)); } } catch (Exception exc) { Log.WriteWarning("Failed to obtain user membership. Details : {0}", exc.Message); } }
private static BaseDirectoryServices GetServerDS(string serverName) { BaseDirectoryServices serverDS; m_serverDSCache.TryGetValue(serverName, out serverDS); if (serverDS == null) { if (DirectoryServicesUtils.IsLocalMachine(serverName)) { serverDS = new LocalDirectoryServices(serverName); } else { serverDS = new DomainDirectoryServices(serverName); } m_serverDSCache.Add(serverName, serverDS); } return(serverDS); }
private List <string> GetSpecificObjects( string objectSchemaClassName, List <string> objectNames, bool includeValidObjectsOnly) { List <string> specificObjects = new List <string>(); SearchSpecificObjects( new StringBuilder("objectclass=" + objectSchemaClassName), objectNames); if (DirectorySearchSession.LastResults != null) { foreach (DirectoryEntry Object in DirectorySearchSession.LastResults) { if (!includeValidObjectsOnly || IsValidADsObject(Object.NativeObject)) { specificObjects.Add(DirectoryServicesUtils.GetObjectAccountName(Object, null)); } } } return(specificObjects); }