Пример #1
0
 internal static ADObjectSearcher SidIdentityResolver(object identityObject, string searchBase, CmdletSessionInfo cmdletSessionInfo, out bool useSearchFilter)
 {
     useSearchFilter = true;
     if (identityObject != null)
     {
         SecurityIdentifier securityIdentifier = null;
         string             str = identityObject as string;
         if (string.IsNullOrEmpty(str) || !Utils.TryParseSid(str, out securityIdentifier))
         {
             securityIdentifier = identityObject as SecurityIdentifier;
             if (securityIdentifier == null)
             {
                 ADPrincipal aDPrincipal = identityObject as ADPrincipal;
                 if (aDPrincipal == null || !(aDPrincipal.SID != null))
                 {
                     return(null);
                 }
                 else
                 {
                     return(IdentityResolverMethods.BuildSidBaseSearcher(aDPrincipal.SID, searchBase, cmdletSessionInfo));
                 }
             }
             else
             {
                 return(IdentityResolverMethods.BuildSidBaseSearcher(securityIdentifier, searchBase, cmdletSessionInfo));
             }
         }
         else
         {
             return(IdentityResolverMethods.BuildSidBaseSearcher(securityIdentifier, searchBase, cmdletSessionInfo));
         }
     }
     else
     {
         throw new ArgumentNullException("identityObject");
     }
 }