예제 #1
0
        internal static MailboxData DiscoverTestMailbox(IIdentityParameter identity, IRecipientSession adSession, ADServerSettings serverSettings, DataAccessHelper.CategorizedGetDataObjectDelegate getDataObject, Task.TaskVerboseLoggingDelegate writeVerbose, Task.ErrorLoggerDelegate writeError)
        {
            if (identity == null)
            {
                MigrationADProvider migrationADProvider = new MigrationADProvider(adSession);
                return(migrationADProvider.GetMailboxDataForManagementMailbox());
            }
            ADUser      aduser      = RequestTaskHelper.ResolveADUser(adSession, adSession, serverSettings, identity, null, null, getDataObject, writeVerbose, writeError, true);
            MailboxData mailboxData = new MailboxData(aduser.ExchangeGuid, new Fqdn(aduser.ServerName), aduser.LegacyExchangeDN, aduser.Id, aduser.ExchangeObjectId);

            mailboxData.Update(identity.RawIdentity, aduser.OrganizationId);
            return(mailboxData);
        }
예제 #2
0
        protected override IConfigDataProvider CreateSession()
        {
            MigrationLogger.Initialize();
            MigrationLogContext.Current.Source = base.GetType().Name;
            if (base.CurrentOrganizationId != null)
            {
                MigrationLogContext.Current.Organization = base.CurrentOrganizationId.OrganizationalUnit;
            }
            this.initialized       = true;
            this.DataProvider      = MigrationDataProvider.CreateProviderForMigrationMailbox(base.GetType().Name, base.TenantGlobalCatalogSession, this.partitionMailbox);
            this.batchDataProvider = new Lazy <MigrationBatchDataProvider>(() => new MigrationBatchDataProvider(this.DataProvider, null));
            MigrationADProvider migrationADProvider = (MigrationADProvider)this.DataProvider.ADProvider;

            return(migrationADProvider.RecipientSession);
        }