예제 #1
0
 internal static ADObjectSearcher GuidSearchFilterIdentityResolver(object identityObject, string searchBase, CmdletSessionInfo cmdletSessionInfo, out bool useSearchFilter)
 {
     useSearchFilter = true;
     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.BuildObjectGuidSearcher(aDObject.ObjectGuid, searchBase, cmdletSessionInfo));
                     }
                 }
                 return(null);
             }
             else
             {
                 return(IdentityResolverMethods.BuildObjectGuidSearcher(new Guid?((Guid)identityObject), searchBase, cmdletSessionInfo));
             }
         }
         else
         {
             return(IdentityResolverMethods.BuildObjectGuidSearcher(nullable, searchBase, cmdletSessionInfo));
         }
     }
     else
     {
         throw new ArgumentNullException("identityObject");
     }
 }