Exemplo n.º 1
0
 // Token: 0x06000002 RID: 2 RVA: 0x000020D8 File Offset: 0x000002D8
 public override void Work()
 {
     using (AuthAdminContext authAdminContext = new AuthAdminContext("AuthAdmin"))
     {
         AnchorApplication anchorApplication = new AnchorApplication(authAdminContext, base.StopEvent);
         anchorApplication.Process();
     }
 }
Exemplo n.º 2
0
        // Token: 0x06000003 RID: 3 RVA: 0x00002120 File Offset: 0x00000320
        internal AuthAdminContext(string applicationName) : base(OrganizationCapability.Management)
        {
            AnchorConfig    config = AuthAdminContext.CreateConfigSchema();
            AuthAdminLogger logger = new AuthAdminLogger(applicationName, config, new ExEventLog(AuthAdminContext.ComponentGuid, "MSExchange AuthAdmin"));

            base.Initialize(applicationName, logger, config);
            this.IsMultiTenancyEnabled = VariantConfiguration.GetSnapshot(MachineSettingsContext.Local, null, null).Global.MultiTenancy.Enabled;
        }
 internal AuthAdminCertificates(AuthAdminContext context, WaitHandle stopEvent)
 {
     this.Context   = context;
     this.StopEvent = stopEvent;
 }
Exemplo n.º 4
0
 internal AuthAdminAuthConfig(AuthAdminContext context, WaitHandle stopEvent)
 {
     this.Context   = context;
     this.StopEvent = stopEvent;
 }
Exemplo n.º 5
0
        protected override AnchorJobProcessorResult ProcessEntry(CacheEntryBase cacheEntry)
        {
            AuthAdminContext authAdminContext = base.Context as AuthAdminContext;

            AnchorUtil.AssertOrThrow(authAdminContext != null, "expect to have a valid AuthAdminContext", new object[0]);
            authAdminContext.Logger.Log(MigrationEventType.Information, "Checking if mailbox {0} active on current server", new object[]
            {
                cacheEntry
            });
            AnchorJobProcessorResult anchorJobProcessorResult = base.ProcessEntry(cacheEntry);

            if (anchorJobProcessorResult == AnchorJobProcessorResult.Deleted)
            {
                authAdminContext.Logger.Log(MigrationEventType.Information, "Mailbox {0} is not active on current server, skipping Auth Admin tasks", new object[]
                {
                    cacheEntry
                });
                return(anchorJobProcessorResult);
            }
            authAdminContext.Logger.Log(MigrationEventType.Information, "Mailbox {0} is active on current server", new object[]
            {
                cacheEntry
            });
            try
            {
                authAdminContext.Logger.Log(MigrationEventType.Information, "Starting Auth Admin tasks", new object[0]);
                ITopologyConfigurationSession session = DirectorySessionFactory.Default.CreateTopologyConfigurationSession(false, ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromRootOrgScopeSet(), 81, "ProcessEntry", "f:\\15.00.1497\\sources\\dev\\Management\\src\\ServiceHost\\Servicelets\\AuthAdmin\\Program\\AuthAdminScheduler.cs");
                this.authAdminAuthConfig.DoScheduledWork(session);
                this.authAdminCertificates.DoScheduledWork(session);
            }
            catch (ADTransientException ex)
            {
                authAdminContext.Logger.LogTerseEvent(MigrationEventType.Error, MSExchangeAuthAdminEventLogConstants.Tuple_TransientException, new string[]
                {
                    AnchorLogger.GetDiagnosticInfo(ex, null)
                });
                throw;
            }
            catch (DataSourceTransientException ex2)
            {
                authAdminContext.Logger.LogTerseEvent(MigrationEventType.Error, MSExchangeAuthAdminEventLogConstants.Tuple_TransientException, new string[]
                {
                    AnchorLogger.GetDiagnosticInfo(ex2, null)
                });
                throw;
            }
            catch (Exception ex3)
            {
                authAdminContext.Logger.LogTerseEvent(MigrationEventType.Error, MSExchangeAuthAdminEventLogConstants.Tuple_PermanentException, new string[]
                {
                    AnchorLogger.GetDiagnosticInfo(ex3, null)
                });
            }
            finally
            {
                authAdminContext.Logger.LogTerseEvent(MigrationEventType.Information, MSExchangeAuthAdminEventLogConstants.Tuple_AuthAdminCompleted, new string[]
                {
                    cacheEntry.ToString()
                });
            }
            return(AnchorJobProcessorResult.Waiting);
        }
Exemplo n.º 6
0
 internal AuthAdminScheduler(AuthAdminContext context, WaitHandle stopEvent) : base(context, stopEvent)
 {
     this.authAdminAuthConfig   = new AuthAdminAuthConfig(context, stopEvent);
     this.authAdminCertificates = new AuthAdminCertificates(context, stopEvent);
 }