internal static ADObjectSearcher ADOFGuidIdentityResolver(object identityObject, string searchBase, CmdletSessionInfo cmdletSessionInfo, out bool useSearchFilter)
 {
     useSearchFilter = true;
     if (identityObject != null)
     {
         SearchUtility.BuildSearcher(cmdletSessionInfo.ADSessionInfo, searchBase, ADSearchScope.Subtree);
         Guid?  nullable = null;
         string str      = identityObject as string;
         if (string.IsNullOrEmpty(str) || !Utils.TryParseGuid(str, out nullable))
         {
             if (!(identityObject is Guid))
             {
                 ADOptionalFeature aDOptionalFeature = identityObject as ADOptionalFeature;
                 if (aDOptionalFeature != null)
                 {
                     Guid?objectGuid = aDOptionalFeature.ObjectGuid;
                     if (!objectGuid.HasValue)
                     {
                         Guid?featureGUID = aDOptionalFeature.FeatureGUID;
                         if (featureGUID.HasValue)
                         {
                             Guid?featureGUID1 = aDOptionalFeature.FeatureGUID;
                             ADOptionalFeatureFactory <T> .BuildADOFGuidSearcher(featureGUID1.Value, searchBase, cmdletSessionInfo);
                         }
                     }
                     else
                     {
                         useSearchFilter = true;
                         Guid?objectGuid1 = aDOptionalFeature.ObjectGuid;
                         return(IdentityResolverMethods.BuildGuidBaseSearcher(new Guid?(objectGuid1.Value), cmdletSessionInfo));
                     }
                 }
                 return(null);
             }
             else
             {
                 return(ADOptionalFeatureFactory <T> .BuildADOFGuidSearcher((Guid)identityObject, searchBase, cmdletSessionInfo));
             }
         }
         else
         {
             return(ADOptionalFeatureFactory <T> .BuildADOFGuidSearcher(nullable.Value, searchBase, cmdletSessionInfo));
         }
     }
     else
     {
         throw new ArgumentNullException("identityObject");
     }
 }
Example #2
0
 internal static ADObjectSearcher GuidIdentityResolver(object identityObject, string searchBase, CmdletSessionInfo cmdletSessionInfo, out bool useSearchFilter)
 {
     useSearchFilter = false;
     if (identityObject != null)
     {
         Guid?  nullable = null;
         string str      = identityObject as string;
         if (string.IsNullOrEmpty(str) || !Utils.TryParseGuid(str, out nullable))
         {
             if (!(identityObject is Guid))
             {
                 ADObject aDObject = identityObject as ADObject;
                 if (aDObject != null)
                 {
                     Guid?objectGuid = aDObject.ObjectGuid;
                     if (objectGuid.HasValue)
                     {
                         return(IdentityResolverMethods.BuildGuidBaseSearcher(aDObject.ObjectGuid, cmdletSessionInfo));
                     }
                 }
                 return(null);
             }
             else
             {
                 return(IdentityResolverMethods.BuildGuidBaseSearcher(new Guid?((Guid)identityObject), cmdletSessionInfo));
             }
         }
         else
         {
             return(IdentityResolverMethods.BuildGuidBaseSearcher(nullable, cmdletSessionInfo));
         }
     }
     else
     {
         throw new ArgumentNullException("identityObject");
     }
 }