protected override void InternalProcessRecord()
 {
     TaskLogger.LogEnter();
     if (this.TenantCU.OrganizationStatus == OrganizationStatus.PendingAcceptedDomainAddition || this.TenantCU.OrganizationStatus == OrganizationStatus.PendingAcceptedDomainRemoval)
     {
         OrganizationTaskHelper.SetOrganizationStatus(base.Session, this.TenantCU, OrganizationStatus.Active);
     }
     try
     {
         base.InternalProcessRecord();
     }
     catch (Exception)
     {
         this.CleanupSecondaryDomain();
         throw;
     }
     if (!base.HasErrors)
     {
         AcceptedDomain acceptedDomain = OrganizationTaskHelper.GetAcceptedDomain(AcceptedDomainIdParameter.Parse(this.Name), base.Session, new Task.TaskErrorLoggingDelegate(base.WriteError), true);
         base.WriteObject(acceptedDomain);
     }
     else
     {
         this.CleanupSecondaryDomain();
     }
     TaskLogger.LogExit();
 }
        protected override void InternalProcessRecord()
        {
            TaskLogger.LogEnter();
            base.Fields["PrimaryOrganization"]     = this.acceptedDomain.OrganizationId.OrganizationalUnit.DistinguishedName;
            base.Fields["SecondarySmtpDomainName"] = this.acceptedDomain.DomainName.ToString();
            ExchangeConfigurationUnit exchangeConfigUnitFromOrganizationId = OrganizationTaskHelper.GetExchangeConfigUnitFromOrganizationId(this.organizationIdParam, base.Session, new Task.TaskErrorLoggingDelegate(base.WriteError), true);

            base.Fields["TenantExternalDirectoryOrganizationId"] = exchangeConfigUnitFromOrganizationId.ExternalDirectoryOrganizationId;
            IConfigurationSession session = (IConfigurationSession)TaskHelper.UnderscopeSessionToOrganization(base.Session, exchangeConfigUnitFromOrganizationId.OrganizationId, true);

            if (exchangeConfigUnitFromOrganizationId.OrganizationStatus == OrganizationStatus.PendingAcceptedDomainAddition || exchangeConfigUnitFromOrganizationId.OrganizationStatus == OrganizationStatus.PendingAcceptedDomainRemoval)
            {
                OrganizationTaskHelper.SetOrganizationStatus(this.organizationIdParam, session, OrganizationStatus.Active, new Task.TaskErrorLoggingDelegate(base.WriteError));
            }
            base.InternalProcessRecord();
            TaskLogger.LogExit();
        }
Exemplo n.º 3
0
        protected override void InternalProcessRecord()
        {
            TaskLogger.LogEnter();
            int defaultValue = this.IsTestTopologyDomain() ? 100 : 0;
            int value        = RegistryReader.Instance.GetValue <int>(Registry.LocalMachine, "SOFTWARE\\Microsoft\\ExchangeServer\\v15\\ProvisioningThrottling", "MailboxCountAsyncRemovalSize", defaultValue);

            if (this.Async && this.GetRecipientCount(value + 1, false, true) > value)
            {
                OrganizationTaskHelper.SetOrganizationStatus(this.adSession, this.exchangeConfigUnit, OrganizationStatus.ReadyForRemoval);
            }
            else
            {
                base.Fields["TenantOrganizationFullPath"] = this.tenantOU.DistinguishedName;
                base.Fields["TenantCUFullPath"]           = this.tenantOU.ConfigurationUnit.Parent.DistinguishedName;
                base.Fields[RemoveOrganization.ExternalDirectoryOrganizationIdVarName] = this.exchangeConfigUnit.ExternalDirectoryOrganizationId;
                if (this.exchangeConfigUnit.OrganizationStatus != OrganizationStatus.PendingRemoval)
                {
                    OrganizationTaskHelper.SetOrganizationStatus(this.adSession, this.exchangeConfigUnit, OrganizationStatus.PendingRemoval);
                }
                base.InternalProcessRecord();
            }
            TaskLogger.LogExit();
        }