public CountryListKey(string countryListName) { if (string.IsNullOrEmpty(countryListName)) { throw new ArgumentNullException("countryListName"); } ADObjectId rootOrgContainerIdForLocalForest = ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(); this.Key = rootOrgContainerIdForLocalForest.GetDescendantId(CountryList.RdnContainer.GetChildId(countryListName.ToLower())); this.cachedHashCode = this.Key.DistinguishedName.ToLower().GetHashCode(); }
internal static ADObjectId GetRootOrgContainerId(string partitionFqdn, string domainController, NetworkCredential credential) { ArgumentValidator.ThrowIfNullOrEmpty("partitionFqdn", partitionFqdn); ADObjectId rootOrgContainerId = InternalDirectoryRootOrganizationCache.GetRootOrgContainerId(partitionFqdn); if (rootOrgContainerId != null) { return(rootOrgContainerId); } Organization rootOrgContainer = ADSystemConfigurationSession.GetRootOrgContainer(partitionFqdn, domainController, credential); if (rootOrgContainer == null) { return(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest()); } return(rootOrgContainer.Id); }
protected override CountryList CreateOnCacheMiss(CountryListKey key, ref bool shouldAdd) { CountryList countryList = null; if (null != key) { ADObjectId rootOrgContainerIdForLocalForest = ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(); ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrgContainerIdForLocalForest, OrganizationId.ForestWideOrgId, OrganizationId.ForestWideOrgId, false); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.FullyConsistent, sessionSettings, 145, "CreateOnCacheMiss", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\ConfigurationCache\\CountryListIdCache.cs"); countryList = tenantOrTopologyConfigurationSession.Read <CountryList>(key.Key); if (countryList == null) { Globals.LogEvent(DirectoryEventLogConstants.Tuple_UMCountryListNotFound, key.ToString(), new object[] { key }); } } return(countryList); }
internal AddressBookBase GetDefaultGlobalAddressList() { MultiValuedProperty <ADObjectId> defaultGlobalAddressList = this.DefaultGlobalAddressList; AddressBookBase result = null; ADObjectId adobjectId = null; foreach (ADObjectId adobjectId2 in defaultGlobalAddressList) { adobjectId = adobjectId2; if (adobjectId2.IsDescendantOf(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest())) { break; } } if (adobjectId != null) { result = base.Session.Read <AddressBookBase>(adobjectId); } return(result); }
private static OrganizationContentConversionProperties GetOrganizationContentConversionPropertiesFromAD(OrganizationId organizationId) { OrganizationContentConversionProperties organizationContentConversionProperties = new OrganizationContentConversionProperties(); if (organizationId == null) { organizationId = OrganizationId.ForestWideOrgId; } ADObjectId rootOrgContainerIdForLocalForest = ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(); ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrgContainerIdForLocalForest, organizationId, organizationId, false); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 147, "GetOrganizationContentConversionPropertiesFromAD", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\ConfigurationCache\\OrganizationContentConversionCache.cs"); ADObjectId entryId; if (organizationId == OrganizationId.ForestWideOrgId) { Organization orgContainer = tenantOrTopologyConfigurationSession.GetOrgContainer(); entryId = orgContainer.Id; } else { entryId = organizationId.ConfigurationUnit; } ADRawEntry adrawEntry = tenantOrTopologyConfigurationSession.ReadADRawEntry(entryId, OrganizationContentConversionCache.orgProperties); if (adrawEntry == null) { OrganizationContentConversionCache.Tracer.TraceError <OrganizationId>(0L, "CU for the org '{0}' is not found in AD!", organizationId); organizationContentConversionProperties.ValidOrganization = false; } else { OrganizationContentConversionCache.Tracer.TraceDebug <OrganizationId>(0L, "CU for '{0}' located in AD.", organizationId); organizationContentConversionProperties.ValidOrganization = true; organizationContentConversionProperties.PreferredInternetCodePageForShiftJis = Organization.MapIntToPreferredInternetCodePageForShiftJis((int)adrawEntry[OrganizationSchema.PreferredInternetCodePageForShiftJis]); organizationContentConversionProperties.RequiredCharsetCoverage = (int)adrawEntry[OrganizationSchema.RequiredCharsetCoverage]; organizationContentConversionProperties.ByteEncoderTypeFor7BitCharsets = (int)adrawEntry[OrganizationSchema.ByteEncoderTypeFor7BitCharsets]; } return(organizationContentConversionProperties); }
public OrganizationIdCacheValue(OrganizationId organizationId) { if (organizationId == null) { organizationId = OrganizationId.ForestWideOrgId; } ADObjectId rootOrgContainerIdForLocalForest = ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(); ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrgContainerIdForLocalForest, organizationId, organizationId, false); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.FullyConsistent, sessionSettings, 53, ".ctor", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\ConfigurationCache\\OrganizationIdCacheValue.cs"); ADSessionSettings adsessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrgContainerIdForLocalForest, organizationId, organizationId, false); adsessionSettings.IsSharedConfigChecked = true; IConfigurationSession tenantOrTopologyConfigurationSession2 = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.FullyConsistent, adsessionSettings, 68, ".ctor", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\ConfigurationCache\\OrganizationIdCacheValue.cs"); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(ConsistencyMode.IgnoreInvalid, adsessionSettings, 72, ".ctor", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\ConfigurationCache\\OrganizationIdCacheValue.cs"); this.organizationId = organizationId; this.federatedOrganizationIdCache = new OrganizationFederatedOrganizationIdCache(organizationId, tenantOrTopologyConfigurationSession2); this.federatedDomainsCache = new OrganizationFederatedDomainsCache(organizationId, this.federatedOrganizationIdCache, tenantOrTopologyConfigurationSession); this.acceptedDomainsCache = new OrganizationAcceptedDomainsCache(organizationId, tenantOrTopologyConfigurationSession); this.organizationRelationshipNonAdPropertiesCache = new OrganizationOrganizationRelationshipCache(organizationId, tenantOrTopologyConfigurationSession); this.availabilityConfigCache = new OrganizationAvailabilityConfigCache(organizationId, tenantOrTopologyConfigurationSession, tenantOrRootOrgRecipientSession); this.availabilityAddressSpaceCache = new OrganizationAvailabilityAddressSpaceCache(organizationId, tenantOrTopologyConfigurationSession); this.intraOrganizationConnectorCache = new OrganizationIntraOrganizationConnectorCache(organizationId, tenantOrTopologyConfigurationSession); }
internal override bool CheckForAssociatedUsers() { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), base.OrganizationId, null, false); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(ConsistencyMode.PartiallyConsistent, sessionSettings, 2539, "CheckForAssociatedUsers", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\OwaMailboxPolicy.cs"); QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADUserSchema.OwaMailboxPolicy, base.Id); ADUser[] array = tenantOrRootOrgRecipientSession.FindADUser(null, QueryScope.SubTree, filter, null, 1); return(array != null && array.Length > 0); }