internal static IdentityResolverDelegate GetGenericIdentityResolverWithSamName(string[] identityLdapAttributes) { return((object identityObject, string searchBase, CmdletSessionInfo cmdletSessionInfo, out bool useSearchFilter) => { useSearchFilter = true; ADObjectSearcher aDObjectSearcher = IdentityResolverMethods.BuildGenericSearcher(identityLdapAttributes, identityObject, searchBase, cmdletSessionInfo, out useSearchFilter); if (aDObjectSearcher != null) { string str = identityObject as string; if (str != null && !str.EndsWith("$", StringComparison.OrdinalIgnoreCase)) { IADOPathNode aDOPathNode = ADOPathUtil.CreateFilterClause(ADOperator.Eq, "sAMAccountName", string.Concat(str, "$")); IADOPathNode[] filter = new IADOPathNode[2]; filter[0] = aDObjectSearcher.Filter; filter[1] = aDOPathNode; aDObjectSearcher.Filter = ADOPathUtil.CreateOrClause(filter); } } return aDObjectSearcher; } ); }
internal static IdentityResolverDelegate GetGenericIdentityResolver(string[] identityLdapAttributes) { return((object identityObject, string searchBase, CmdletSessionInfo cmdletSessionInfo, out bool useSearchFilter) => IdentityResolverMethods.BuildGenericSearcher(identityLdapAttributes, identityObject, searchBase, cmdletSessionInfo, out useSearchFilter)); }