private static int GetBruteForceCountImmediate(string domainController, OrganizationId orgId, string systemAddressListName, int countQuota)
        {
            QueryFilter filter;

            if (!CannedSystemAddressLists.GetFilterByAddressList(systemAddressListName, out filter))
            {
                throw new ArgumentException("SystemAddressListName");
            }
            ADSessionSettings             sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), orgId, null, false);
            IRecipientSession             tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(domainController, true, ConsistencyMode.PartiallyConsistent, sessionSettings, 278, "GetBruteForceCountImmediate", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\ConfigurationCache\\SystemAddressListMemberCount.cs");
            ADPagedReader <MiniRecipient> adpagedReader = tenantOrRootOrgRecipientSession.FindPagedMiniRecipient <MiniRecipient>(null, QueryScope.OneLevel, filter, null, 0, new PropertyDefinition[]
            {
                ADObjectSchema.Id
            });
            int num = 0;

            foreach (MiniRecipient miniRecipient in adpagedReader)
            {
                num++;
                if (num >= countQuota)
                {
                    return(num);
                }
            }
            return(num);
        }
 private static void RetrieveLocalTempateUserContext()
 {
     if (TemplateTenantConfiguration.cachedTemplateUser == null)
     {
         ExchangeConfigurationUnit localTemplateTenant = TemplateTenantConfiguration.GetLocalTemplateTenant();
         if (localTemplateTenant == null)
         {
             throw new ADTransientException(DirectoryStrings.CannotFindTemplateTenant);
         }
         ADSessionSettings adsessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), localTemplateTenant.OrganizationId, null, false);
         adsessionSettings.ForceADInTemplateScope = true;
         ITenantRecipientSession tenantRecipientSession = DirectorySessionFactory.Default.CreateTenantRecipientSession(false, ConsistencyMode.IgnoreInvalid, adsessionSettings, 121, "RetrieveLocalTempateUserContext", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\TemplateTenantConfiguration.cs");
         QueryFilter             filter = new AndFilter(new QueryFilter[]
         {
             new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.ObjectClass, ADUser.MostDerivedClass),
             new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.RecipientTypeDetailsValue, RecipientTypeDetails.MailboxPlan)
         });
         ADUser[] array = tenantRecipientSession.FindADUser(null, QueryScope.OneLevel, filter, null, 1);
         if (array == null || array.Length == 0)
         {
             new ADTransientException(DirectoryStrings.CannotFindTemplateUser(localTemplateTenant.OrganizationalUnitRoot.DistinguishedName));
         }
         array[0].RecipientTypeDetails                      = RecipientTypeDetails.UserMailbox;
         array[0].RecipientDisplayType                      = new RecipientDisplayType?(RecipientDisplayType.MailboxUser);
         array[0].MasterAccountSid                          = null;
         array[0].AcceptMessagesOnlyFrom                    = null;
         array[0].UseDatabaseQuotaDefaults                  = new bool?(false);
         array[0].ExchangeUserAccountControl                = UserAccountControlFlags.None;
         TemplateTenantConfiguration.cachedTemplateUser     = array[0];
         TemplateTenantConfiguration.cachedTemplateUserSd   = tenantRecipientSession.ReadSecurityDescriptorBlob(array[0].Id);
         TemplateTenantConfiguration.cachedRecipientSession = tenantRecipientSession;
     }
 }
        // Token: 0x0600117D RID: 4477 RVA: 0x00054478 File Offset: 0x00052678
        public ADSessionSettings GetSharedConfigurationSessionSettings()
        {
            ADSessionSettings adsessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), this.sharedConfigurationCU.OrganizationId, null, false);

            adsessionSettings.IsSharedConfigChecked      = true;
            adsessionSettings.IsRedirectedToSharedConfig = true;
            return(adsessionSettings);
        }
Exemplo n.º 4
0
        // Token: 0x06001056 RID: 4182 RVA: 0x0004F320 File Offset: 0x0004D520
        private AddressBookBase GetGlobalAddressList(OrganizationId organizationId)
        {
            AddressBookBase globalAddressList;

            using (ClientSecurityContext clientSecurityContext = new ClientSecurityContext(this.securityAccessToken, AuthzFlags.AuthzSkipTokenGroups))
            {
                ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false);
                globalAddressList = AddressBookBase.GetGlobalAddressList(clientSecurityContext, DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 512, "GetGlobalAddressList", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\RbacScope.cs"), DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, true, ConsistencyMode.IgnoreInvalid, null, sessionSettings, ConfigScopes.TenantSubTree, 513, "GetGlobalAddressList", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\RbacScope.cs"), true);
            }
            return(globalAddressList);
        }
        // Token: 0x06001173 RID: 4467 RVA: 0x00054090 File Offset: 0x00052290
        public static IConfigurationSession CreateScopedToSharedConfigADSession(OrganizationId orgId)
        {
            ADSessionSettings adsessionSettings = null;

            if (SharedConfiguration.IsDehydratedConfiguration(orgId) || SharedConfiguration.IsSharedConfiguration(orgId))
            {
                SharedConfiguration sharedConfiguration = SharedConfiguration.GetSharedConfiguration(orgId);
                if (sharedConfiguration != null)
                {
                    adsessionSettings = sharedConfiguration.GetSharedConfigurationSessionSettings();
                }
            }
            if (adsessionSettings == null)
            {
                adsessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), orgId, null, false);
            }
            return(DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, adsessionSettings, 366, "CreateScopedToSharedConfigADSession", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SharedConfiguration.cs"));
        }