public static IEnumerable <ForeignUser> Get_DomainForeignUser(Args_Get_DomainForeignUser args = null) { if (args == null) { args = new Args_Get_DomainForeignUser(); } var SearcherArguments = new Args_Get_DomainUser { LDAPFilter = @"(memberof=*)", Domain = args.Domain, Properties = args.Properties, SearchBase = args.SearchBase, Server = args.Server, SearchScope = args.SearchScope, ResultPageSize = args.ResultPageSize, ServerTimeLimit = args.ServerTimeLimit, SecurityMasks = args.SecurityMasks, Tombstone = args.Tombstone, Credential = args.Credential }; var ForeignUsers = new List <ForeignUser>(); var Results = GetDomainUser.Get_DomainUser(SearcherArguments); foreach (LDAPProperty result in Results) { foreach (var Membership in result.memberof) { var Index = Membership.IndexOf(@"DC="); if (Index != 0) { var GroupDomain = Membership.Substring(Index).Replace(@"DC=", @"").Replace(@",", @"."); var UserDistinguishedName = result.distinguishedname; var UserIndex = UserDistinguishedName.IndexOf(@"DC="); var UserDomain = result.distinguishedname.Substring(UserIndex).Replace(@"DC=", @"").Replace(@",", @"."); if (GroupDomain != UserDomain) { // if the group domain doesn't match the user domain, display it var GroupName = Membership.Split(',')[0].Split('=')[1]; var ForeignUser = new ForeignUser { UserDomain = UserDomain, UserName = result.samaccountname, UserDistinguishedName = result.distinguishedname, GroupDomain = GroupDomain, GroupName = GroupName, GroupDistinguishedName = Membership }; } } } } return(ForeignUsers); }
public static IEnumerable <ForeignUser> Find_ForeignUser(Args_Get_DomainForeignUser args = null) { return(FindForeignUser.Find_ForeignUser(args)); }
public static IEnumerable <ForeignUser> Get_DomainForeignUser(Args_Get_DomainForeignUser args = null) { return(GetDomainForeignUser.Get_DomainForeignUser(args)); }