Example #1
0
        private ADObjectId GetADObjectIdFromOrganizationalUnitIdParameter(IConfigurationSession configurationSession, OrganizationalUnitIdParameter root)
        {
            bool       useConfigNC      = configurationSession.UseConfigNC;
            bool       useGlobalCatalog = configurationSession.UseGlobalCatalog;
            ADObjectId id;

            try
            {
                configurationSession.UseConfigNC      = false;
                configurationSession.UseGlobalCatalog = true;
                IConfigurable configurable = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(root, configurationSession, base.OrganizationId.OrganizationalUnit, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(root.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(root.ToString())));
                id = ((ADObject)configurable).Id;
            }
            finally
            {
                configurationSession.UseConfigNC      = useConfigNC;
                configurationSession.UseGlobalCatalog = useGlobalCatalog;
            }
            return(id);
        }
Example #2
0
        private ADObjectId ValidateRecipientContainer(OrganizationalUnitIdParameter recipientContainer)
        {
            bool       useConfigNC      = this.ConfigurationSession.UseConfigNC;
            bool       useGlobalCatalog = this.ConfigurationSession.UseGlobalCatalog;
            ADObjectId id;

            try
            {
                this.ConfigurationSession.UseConfigNC = false;
                if (string.IsNullOrEmpty(this.ConfigurationSession.DomainController))
                {
                    this.ConfigurationSession.UseGlobalCatalog = true;
                }
                ADConfigurationObject adconfigurationObject = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(recipientContainer, this.ConfigurationSession, null, new LocalizedString?(Strings.ErrorRecipientContainerInvalidOrNotExists), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(recipientContainer.ToString())), ExchangeErrorCategory.Client);
                id = adconfigurationObject.Id;
            }
            finally
            {
                this.ConfigurationSession.UseConfigNC      = useConfigNC;
                this.ConfigurationSession.UseGlobalCatalog = useGlobalCatalog;
            }
            return(id);
        }
Example #3
0
        private ADObjectId GetADObjectIdFromOrganizationalUnitIdParameter(IConfigurationSession configurationSession, OrganizationalUnitIdParameter root)
        {
            OrganizationId organizationId = OrganizationId.ForestWideOrgId;

            if (configurationSession is ITenantConfigurationSession)
            {
                organizationId = TaskHelper.ResolveOrganizationId(this.DataObject.Id, ManagementScope.RdnScopesContainerToOrganization, (ITenantConfigurationSession)configurationSession);
            }
            bool       useConfigNC      = configurationSession.UseConfigNC;
            bool       useGlobalCatalog = configurationSession.UseGlobalCatalog;
            ADObjectId id;

            try
            {
                configurationSession.UseConfigNC      = false;
                configurationSession.UseGlobalCatalog = true;
                IConfigurable configurable = (ADConfigurationObject)base.GetDataObject <ExchangeOrganizationalUnit>(root, configurationSession, (null == organizationId) ? null : organizationId.OrganizationalUnit, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(root.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(root.ToString())));
                id = ((ADObject)configurable).Id;
            }
            finally
            {
                configurationSession.UseConfigNC      = useConfigNC;
                configurationSession.UseGlobalCatalog = useGlobalCatalog;
            }
            return(id);
        }
Example #4
0
        internal static ADObjectId GetRecipientContainer(OrganizationalUnitIdParameter recipientContainer, IConfigurationSession cfgSession, OrganizationId organizationId, NewAddressBookBase.GetUniqueObject getDataObject, Task.ErrorLoggerDelegate writeError, Task.TaskVerboseLoggingDelegate writeVerbose)
        {
            bool useConfigNC      = cfgSession.UseConfigNC;
            bool useGlobalCatalog = cfgSession.UseGlobalCatalog;

            cfgSession.UseConfigNC      = false;
            cfgSession.UseGlobalCatalog = true;
            ExchangeOrganizationalUnit exchangeOrganizationalUnit;

            try
            {
                exchangeOrganizationalUnit = (ExchangeOrganizationalUnit)getDataObject(recipientContainer, cfgSession, organizationId.OrganizationalUnit, new LocalizedString?(Strings.ErrorOrganizationalUnitNotFound(recipientContainer.ToString())), new LocalizedString?(Strings.ErrorOrganizationalUnitNotUnique(recipientContainer.ToString())), ExchangeErrorCategory.Client);
                RecipientTaskHelper.IsOrgnizationalUnitInOrganization(cfgSession, organizationId, exchangeOrganizationalUnit, writeVerbose, writeError);
            }
            finally
            {
                cfgSession.UseConfigNC      = useConfigNC;
                cfgSession.UseGlobalCatalog = useGlobalCatalog;
            }
            return(exchangeOrganizationalUnit.Id);
        }