예제 #1
0
        private static bool IsACLableSyncedObjectEnabled(ADUser source, MailboxMoveHelper.Scenario scenario)
        {
            bool  result          = false;
            Trace exceptionTracer = ExTraceGlobals.ExceptionTracer;

            if (!MailboxMoveHelper.IsCrossPremiseScenario(scenario))
            {
                result = true;
            }
            else if (!VariantConfiguration.GetSnapshot(MachineSettingsContext.Local, null, null).Global.MultiTenancy.Enabled)
            {
                try
                {
                    IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(source.OrganizationId), 605, "IsACLableSyncedObjectEnabled", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Common\\recipient\\MailboxMoveHelper.cs");
                    ADObjectId            orgContainerId       = tenantOrTopologyConfigurationSession.GetOrgContainerId();
                    ADOrganizationConfig  adorganizationConfig = tenantOrTopologyConfigurationSession.Read <ADOrganizationConfig>(orgContainerId);
                    if (adorganizationConfig != null)
                    {
                        result = adorganizationConfig.ACLableSyncedObjectEnabled;
                    }
                }
                catch (LocalizedException ex)
                {
                    exceptionTracer.TraceWarning(100L, ex.Message);
                }
                catch (Exception ex2)
                {
                    exceptionTracer.TraceWarning(200L, ex2.Message);
                }
            }
            return(result);
        }
예제 #2
0
        private static Uri GetRootSiteUrlFromExchangeAD(OrganizationId organizationId)
        {
            IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(organizationId), 146, "GetRootSiteUrlFromExchangeAD", "f:\\15.00.1497\\sources\\dev\\UnifiedGroups\\src\\UnifiedGroups\\SharePointNotification\\SharePointUrl.cs");
            ADObjectId            orgContainerId       = tenantOrTopologyConfigurationSession.GetOrgContainerId();
            ADOrganizationConfig  adorganizationConfig = tenantOrTopologyConfigurationSession.Read <ADOrganizationConfig>(orgContainerId);

            if (adorganizationConfig == null)
            {
                SharePointUrl.Tracer.TraceError <OrganizationId>(0L, "ADOrganizationConfig not found for {0}", organizationId);
                return(null);
            }
            return(adorganizationConfig.SharePointUrl);
        }
 protected override void InternalProcessRecord()
 {
     TaskLogger.LogEnter();
     if (this.microsoftExchangeRecipient != null && this.microsoftExchangeRecipient.ObjectState != ObjectState.Unchanged)
     {
         this.recipientSession.Save(this.microsoftExchangeRecipient);
     }
     if (this.DataObject.IsModified(OrganizationSchema.CustomerFeedbackEnabled))
     {
         IConfigurationSession configurationSession = (IConfigurationSession)base.DataSession;
         IEnumerable <Server>  enumerable           = configurationSession.FindAllPaged <Server>();
         if (enumerable != null)
         {
             foreach (Server server in enumerable)
             {
                 if (server.IsE14OrLater)
                 {
                     server.CustomerFeedbackEnabled = this.DataObject.CustomerFeedbackEnabled;
                     configurationSession.Save(server);
                 }
             }
         }
     }
     if (this.DataObject.IsModified(OrganizationSchema.HABRootDepartmentLink) && VariantConfiguration.InvariantNoFlightingSnapshot.Global.MultiTenancy.Enabled)
     {
         ADOrganizationConfig dataObject = this.DataObject;
         ADObjectId           hierarchicalAddressBookRoot = dataObject.HierarchicalAddressBookRoot;
         dataObject.HierarchicalAddressBookRoot = null;
         IConfigurationSession      tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(false, ConsistencyMode.PartiallyConsistent, this.ConfigurationSession.SessionSettings, 756, "InternalProcessRecord", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\SystemConfigurationTasks\\organization\\SetOrganization.cs");
         ADObjectId                 organizationalUnit         = dataObject.OrganizationId.OrganizationalUnit;
         ExchangeOrganizationalUnit exchangeOrganizationalUnit = (ExchangeOrganizationalUnit)base.GetDataObject <ExchangeOrganizationalUnit>(new OrganizationalUnitIdParameter(organizationalUnit), tenantOrTopologyConfigurationSession, null, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(organizationalUnit.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(organizationalUnit.ToString())));
         exchangeOrganizationalUnit.HierarchicalAddressBookRoot = hierarchicalAddressBookRoot;
         tenantOrTopologyConfigurationSession.Save(exchangeOrganizationalUnit);
     }
     base.InternalProcessRecord();
     TaskLogger.LogExit();
 }
 // Token: 0x06005A26 RID: 23078 RVA: 0x0013D2D3 File Offset: 0x0013B4D3
 public OrganizationConfig(ADOrganizationConfig dataObject, bool valuesQueriedFromDC) : base(dataObject)
 {
     this.valuesQueriedFromDC = valuesQueriedFromDC;
 }
 // Token: 0x06005A25 RID: 23077 RVA: 0x0013D2CA File Offset: 0x0013B4CA
 public OrganizationConfig(ADOrganizationConfig dataObject) : base(dataObject)
 {
 }