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"); } }
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"); } }