// Token: 0x060009D5 RID: 2517 RVA: 0x000213C0 File Offset: 0x0001F5C0
        public override IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason)
        {
            notFoundReason = null;
            QueryFilter objectFilter = this.GetObjectFilter();

            return(session.FindPaged <T>(objectFilter, rootId, !base.IsServiceInstanceDefinied, null, 0));
        }
        public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new()
        {
            notFoundReason = null;
            AggregationSubscriptionQueryFilter filter = new AggregationSubscriptionQueryFilter(this);

            return(session.FindPaged <T>(filter, rootId, false, null, 0));
        }
Esempio n. 3
0
 private IEnumerable <ExtendedSecurityPrincipal> FindObjects(IConfigDataProvider session, ADObjectId rootId, QueryFilter targetFilter)
 {
     return(session.FindPaged <ExtendedSecurityPrincipal>(QueryFilter.AndTogether(new QueryFilter[]
     {
         targetFilter,
         this.InternalFilter
     }), rootId, this.DeepSearch, this.InternalSortBy, this.PageSize));
 }
Esempio n. 4
0
 // Token: 0x06000B6C RID: 2924 RVA: 0x000244E0 File Offset: 0x000226E0
 public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData notUsed2, out LocalizedString?notFoundReason) where T : IConfigurable, new()
 {
     notFoundReason = null;
     T[] array = session.FindPaged <T>(null, rootId, false, null, 0).ToArray <T>();
     if (array == null || array.Length == 0)
     {
         notFoundReason = new LocalizedString?(Strings.ResubmitRequestDoesNotExist((this.identity == null) ? 0L : this.identity.ResubmitRequestRowId));
     }
     return(array);
 }
        private PolicyChangeBatch GetBindingChanges(TenantCookieCollection tenantCookies)
        {
            IConfigDataProvider   configDataProvider = ConfigDataProviderFactory.Default.Create(DatabaseType.Directory);
            PolicyChangeBatch     newBatch           = UnifiedPolicySession.GetNewBatch <BindingConfiguration>(tenantCookies);
            List <BindingStorage> list  = new List <BindingStorage>();
            List <ScopeStorage>   list2 = new List <ScopeStorage>();

            new List <BindingConfiguration>();
            foreach (TenantCookie tenantCookie in ((IEnumerable <TenantCookie>)tenantCookies))
            {
                PolicySyncCookie policySyncCookie = PolicySyncCookie.Deserialize(tenantCookie.Cookie);
                string           pagingWatermark  = UnifiedPolicySession.GetPagingWatermark <BindingConfiguration>(policySyncCookie);
                string           pagingWatermark2 = UnifiedPolicySession.GetPagingWatermark <ScopeConfiguration>(policySyncCookie);
                QueryFilter      queryFilter      = UnifiedPolicySession.CreateGetChangesQueryFilter(tenantCookie, pagingWatermark, tenantCookies.Workload, true);
                QueryFilter      queryFilter2     = UnifiedPolicySession.CreateGetChangesQueryFilter(tenantCookie, pagingWatermark2, tenantCookies.Workload, true);
                list.AddRange(configDataProvider.FindPaged <BindingStorage>(queryFilter, null, false, null, 1000).Cast <BindingStorage>());
                list2.AddRange(configDataProvider.FindPaged <ScopeStorage>(queryFilter2, null, false, null, 1000).Cast <ScopeStorage>());
                bool flag;
                UnifiedPolicySession.SetPagingWatermark <BindingConfiguration>(policySyncCookie, PagingHelper.GetProcessedCookie(queryFilter, out flag));
                bool flag2;
                UnifiedPolicySession.SetPagingWatermark <ScopeConfiguration>(policySyncCookie, PagingHelper.GetProcessedCookie(queryFilter2, out flag2));
                TenantCookie tenantCookie2 = newBatch.NewCookies[tenantCookie.TenantId];
                tenantCookie2.Cookie   = policySyncCookie.Serialize();
                tenantCookie2.MoreData = (!flag || !flag2);
            }
            using (List <ScopeStorage> .Enumerator enumerator2 = list2.GetEnumerator())
            {
                while (enumerator2.MoveNext())
                {
                    UnifiedPolicySession.< > c__DisplayClass19 CS$ < > 8__locals1 = new UnifiedPolicySession.< > c__DisplayClass19();
                    CS$ < > 8__locals1.scope = enumerator2.Current;
                    Guid           parentBindingId = Guid.Parse((string)CS$ < > 8__locals1.scope[UnifiedPolicyStorageBaseSchema.ContainerProp]);
                    BindingStorage bindingStorage  = list.FirstOrDefault((BindingStorage b) => b.Id.ObjectGuid == parentBindingId && b.OrganizationalUnitRoot.ObjectGuid == CS$ < > 8__locals1.scope.OrganizationalUnitRoot.ObjectGuid);
                    if (bindingStorage == null)
                    {
                        bindingStorage = configDataProvider.Find <BindingStorage>(UnifiedPolicySession.CreateGetObjectQueryFilter(CS$ < > 8__locals1.scope.OrganizationalUnitRoot.ObjectGuid, parentBindingId, true), null, false, null).Cast <BindingStorage>().FirstOrDefault <BindingStorage>();
                        list.Add(bindingStorage);
                    }
                    if (CS$ < > 8__locals1.scope.ObjectState == ObjectState.Deleted)
                    {
                        bindingStorage.RemovedScopes.Add(CS$ < > 8__locals1.scope);
                    }
Esempio n. 6
0
 public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new()
 {
     notFoundReason = null;
     if (this.IsUniqueIdentity)
     {
         return(new List <T>(1)
         {
             (T)((object)session.Read <T>(this.sendAddressIdentity))
         });
     }
     return(session.FindPaged <T>(null, rootId, false, null, 0));
 }
        internal IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new()
        {
            notFoundReason = null;
            QueryFilter queryFilter = new AlternateMailboxQueryFilter(this.m_objectId);

            if (optionalData != null && optionalData.AdditionalFilter != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    optionalData.AdditionalFilter
                });
            }
            return(session.FindPaged <T>(queryFilter, rootId, true, null, 0));
        }
        // Token: 0x06000B7B RID: 2939 RVA: 0x000246A4 File Offset: 0x000228A4
        IEnumerable <T> IIdentityParameter.GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason)
        {
            QueryFilter queryFilter = new RmsTemplateQueryFilter(this.templateId, this.templateName);

            notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString()));
            if (optionalData != null && optionalData.AdditionalFilter != null)
            {
                queryFilter = QueryFilter.AndTogether(new QueryFilter[]
                {
                    queryFilter,
                    optionalData.AdditionalFilter
                });
            }
            return(session.FindPaged <T>(queryFilter, rootId, false, null, 0));
        }
Esempio n. 9
0
        public static bool TryGetTransportRules(IConfigDataProvider dataSession, out IEnumerable <TransportRule> rules, out string error)
        {
            string      text   = Utils.RuleCollectionNameFromRole();
            QueryFilter filter = new TextFilter(ADObjectSchema.Name, text, MatchOptions.FullString, MatchFlags.Default);

            TransportRuleCollection[] array = (TransportRuleCollection[])dataSession.Find <TransportRuleCollection>(filter, null, true, null);
            if (array.Any <TransportRuleCollection>())
            {
                rules = dataSession.FindPaged <TransportRule>(null, array[0].Id, false, null, 0);
                error = null;
                return(true);
            }
            rules = null;
            error = string.Format("Unable to find rule collection {0}. Tenant is not provisioned for Exchange Transport Rules.", text);
            return(false);
        }
Esempio n. 10
0
        internal static void CheckModeratedMailboxes(ADUser user, IConfigDataProvider session, Task.ErrorLoggerDelegate writeError)
        {
            QueryFilter filter = new AndFilter(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.ModerationEnabled, true),
                new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.ModeratedBy, user.Id)
            });
            IEnumerable <ADUser> enumerable = session.FindPaged <ADUser>(filter, null, true, null, 1);

            using (IEnumerator <ADUser> enumerator = enumerable.GetEnumerator())
            {
                if (enumerator.MoveNext())
                {
                    writeError(new RecipientTaskException(Strings.ErrorRemoveModeratorMailbox(user.Name)), ExchangeErrorCategory.Client, user);
                }
            }
        }
Esempio n. 11
0
        internal static void CheckManagedGroups(ADUser user, IConfigDataProvider session, Task.TaskWarningLoggingDelegate writeWarning)
        {
            QueryFilter filter = new AndFilter(new QueryFilter[]
            {
                new ComparisonFilter(ComparisonOperator.Equal, ADGroupSchema.MemberJoinRestriction, MemberUpdateType.ApprovalRequired),
                new ComparisonFilter(ComparisonOperator.Equal, ADGroupSchema.ManagedBy, user.Id)
            });
            IEnumerable <ADGroup> enumerable = session.FindPaged <ADGroup>(filter, null, true, null, 1);

            using (IEnumerator <ADGroup> enumerator = enumerable.GetEnumerator())
            {
                if (enumerator.MoveNext())
                {
                    writeWarning(Strings.WarningRemoveApprovalRequiredGroupOwners(user.Id.ToString()));
                }
            }
        }
Esempio n. 12
0
        private static IEnumerable <UMAutoAttendant> GetAutoAttendantsInSameDialPlan(IConfigDataProvider session, UMAutoAttendant autoAttendant, ADObjectId dialPlanId)
        {
            if (session == null)
            {
                throw new ArgumentNullException("session");
            }
            if (autoAttendant == null)
            {
                throw new ArgumentNullException("autoAttendant");
            }
            if (dialPlanId == null)
            {
                throw new ArgumentNullException("dialPlanId");
            }
            ComparisonFilter filter = new ComparisonFilter(ComparisonOperator.Equal, UMAutoAttendantSchema.UMDialPlan, dialPlanId);
            ADObjectId       parent = autoAttendant.Id.Parent;

            return(session.FindPaged <UMAutoAttendant>(filter, parent, false, null, 0));
        }
Esempio n. 13
0
        public PriorityHelper(IConfigDataProvider session)
        {
            if (session == null)
            {
                throw new ArgumentNullException("session");
            }
            this.session = session;
            this.rules   = new List <TransportRule>();
            IEnumerable <TransportRule> enumerable = session.FindPaged <TransportRule>(null, Utils.GetRuleCollectionId(this.session), false, null, 0);

            foreach (TransportRule item in enumerable)
            {
                this.rules.Add(item);
            }
            this.rules.Sort(new Comparison <TransportRule>(ADRuleStorageManager.CompareTransportRule));
            this.sequenceNumbers = new int[this.rules.Count];
            int num = 0;

            foreach (TransportRule transportRule in this.rules)
            {
                this.sequenceNumbers[num++] = transportRule.Priority;
            }
        }
Esempio n. 14
0
        protected override void InternalProcessRecord()
        {
            TaskLogger.LogEnter();
            base.InternalProcessRecord();
            IConfigDataProvider dataSession = base.DataSession;
            IEnumerable <T>     enumerable  = dataSession.FindPaged <T>(null, this.Server.Identity, true, null, 0);

            foreach (T t in enumerable)
            {
                if (!this.ShouldSkipVDir(t) && t.ExchangeVersion.IsOlderThan(t.MaximumSupportedExchangeObjectVersion))
                {
                    try
                    {
                        t.SetExchangeVersion(t.MaximumSupportedExchangeObjectVersion);
                        base.DataSession.Save(t);
                    }
                    catch (DataSourceTransientException exception)
                    {
                        base.WriteError(exception, ErrorCategory.WriteError, null);
                    }
                }
            }
            TaskLogger.LogExit();
        }
Esempio n. 15
0
 internal virtual IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new()
 {
     if (!typeof(MapiObject).IsAssignableFrom(typeof(T)))
     {
         throw new ArgumentException(Strings.ErrorInvalidType(typeof(T).Name), "type");
     }
     if (!(session is MapiSession))
     {
         throw new ArgumentException(Strings.ErrorInvalidParameterType("session", typeof(MapiSession).Name), "session");
     }
     notFoundReason = null;
     if (optionalData != null && optionalData.AdditionalFilter != null)
     {
         throw new NotSupportedException("Supplying Additional Filters is not currently supported by this IdParameter.");
     }
     if (rootId == null)
     {
         return(new List <T>
         {
             (T)((object)session.Read <T>(this.mapiObjectId))
         });
     }
     return(session.FindPaged <T>(null, rootId, true, null, 0));
 }
Esempio n. 16
0
        protected override void InternalProcessRecord()
        {
            TaskLogger.LogEnter();
            base.InternalProcessRecord();
            ServerIdParameter serverIdParameter = new ServerIdParameter();
            Server            server            = (Server)base.GetDataObject <Server>(serverIdParameter, base.DataSession, null, new LocalizedString?(Strings.ErrorServerNotFound(serverIdParameter.ToString())), new LocalizedString?(Strings.ErrorServerNotUnique(serverIdParameter.ToString())));

            if (!server.IsClientAccessServer && !server.IsCafeServer)
            {
                base.ThrowTerminatingError(server.GetServerRoleError(ServerRole.ClientAccess), ErrorCategory.InvalidOperation, server);
            }
            using (ServerManager serverManager = new ServerManager())
            {
                ApplicationPool applicationPool = serverManager.ApplicationPools["MSExchangeOWAAppPool"];
                if (applicationPool == null)
                {
                    base.ThrowTerminatingError(new ADNoSuchObjectException(Strings.ErrorOWAVdirAppPoolNotExist), ErrorCategory.ObjectNotFound, serverManager.ApplicationPools);
                }
                applicationPool.ManagedPipelineMode = 0;
                serverManager.CommitChanges();
            }
            QueryFilter filter = new ComparisonFilter(ComparisonOperator.NotEqual, ADOwaVirtualDirectorySchema.OwaVersion, OwaVersions.Exchange2003or2000);

            base.WriteVerbose(TaskVerboseStringHelper.GetFindDataObjectsVerboseString(base.DataSession, typeof(ADOwaVirtualDirectory), filter, server.Identity, true));
            IConfigDataProvider dataSession = base.DataSession;
            IEnumerable <ADOwaVirtualDirectory> enumerable = dataSession.FindPaged <ADOwaVirtualDirectory>(filter, server.Identity, true, null, 0);

            foreach (ADOwaVirtualDirectory adowaVirtualDirectory in enumerable)
            {
                if (adowaVirtualDirectory.WebSite.Equals("Exchange Back End", StringComparison.OrdinalIgnoreCase))
                {
                    string metabasePath = adowaVirtualDirectory.MetabasePath;
                    try
                    {
                        base.WriteVerbose(Strings.VerboseConnectingIISVDir(metabasePath));
                        using (IisUtility.CreateIISDirectoryEntry(metabasePath))
                        {
                            if (!DirectoryEntry.Exists(metabasePath))
                            {
                                this.WriteWarning(Strings.OwaAdOrphanFound(adowaVirtualDirectory.Identity.ToString()));
                                continue;
                            }
                            if (!IisUtility.WebDirObjectExists(metabasePath, this.owaVersion))
                            {
                                base.WriteVerbose(Strings.VerboseCreatingChildVDir(this.owaVersion, metabasePath));
                                CreateVirtualDirectory createVirtualDirectory = new CreateVirtualDirectory();
                                createVirtualDirectory.Name   = this.owaVersion;
                                createVirtualDirectory.Parent = metabasePath;
                                createVirtualDirectory.CustomizedVDirProperties = OwaVirtualDirectoryHelper.GetVersionVDirProperties();
                                createVirtualDirectory.LocalPath = (string)IisUtility.GetIisPropertyValue("Path", createVirtualDirectory.CustomizedVDirProperties);
                                createVirtualDirectory.Initialize();
                                createVirtualDirectory.Execute();
                            }
                        }
                        OwaVirtualDirectoryHelper.CreateLegacyVDirs(metabasePath, true);
                        OwaVirtualDirectoryHelper.CreateOwaCalendarVDir(metabasePath, VirtualDirectoryRole.Mailbox);
                        if (ExchangeServiceVDirHelper.IsBackEndVirtualDirectory(adowaVirtualDirectory))
                        {
                            WebAppVirtualDirectoryHelper.UpdateMetabase(adowaVirtualDirectory, metabasePath, true);
                        }
                    }
                    catch (COMException ex)
                    {
                        base.WriteError(new IISGeneralCOMException(ex.Message, ex.ErrorCode, ex), ErrorCategory.InvalidOperation, null);
                    }
                    if (adowaVirtualDirectory.ExchangeVersion.IsOlderThan(adowaVirtualDirectory.MaximumSupportedExchangeObjectVersion))
                    {
                        try
                        {
                            adowaVirtualDirectory.SetExchangeVersion(adowaVirtualDirectory.MaximumSupportedExchangeObjectVersion);
                            base.DataSession.Save(adowaVirtualDirectory);
                        }
                        catch (DataSourceTransientException exception)
                        {
                            base.WriteError(exception, ErrorCategory.WriteError, null);
                        }
                    }
                }
            }
            TaskLogger.LogExit();
        }
        internal override IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason)
        {
            if (!typeof(MailboxEntry).IsAssignableFrom(typeof(T)))
            {
                throw new ArgumentException(Strings.ErrorInvalidType(typeof(T).Name), "type");
            }
            if (session == null)
            {
                throw new ArgumentNullException("session");
            }
            if (rootId == null)
            {
                throw new ArgumentNullException("rootId");
            }
            if (!(session is MapiAdministrationSession))
            {
                throw new ArgumentException(Strings.ErrorInvalidType(typeof(MapiAdministrationSession).Name), "session");
            }
            if (string.IsNullOrEmpty(this.displayName) && null == base.MapiObjectId)
            {
                throw new InvalidOperationException(Strings.ErrorOperationOnInvalidObject);
            }
            notFoundReason = null;
            List <T> list        = new List <T>();
            Guid     mailboxGuid = Guid.Empty;

            if (base.MapiObjectId != null)
            {
                mailboxGuid = ((MailboxId)base.MapiObjectId).MailboxGuid;
            }
            QueryFilter filter = new MailboxContextFilter(mailboxGuid, this.flags);

            try
            {
                IEnumerable <T> enumerable = session.FindPaged <T>(filter, rootId, true, null, 0);
                if (null != base.MapiObjectId)
                {
                    bool flag  = Guid.Empty != ((MailboxId)base.MapiObjectId).MailboxGuid;
                    bool flag2 = !string.IsNullOrEmpty(((MailboxId)base.MapiObjectId).MailboxExchangeLegacyDn);
                    if (flag || flag2)
                    {
                        foreach (T t in enumerable)
                        {
                            IConfigurable configurable = t;
                            MailboxEntry  mailboxEntry = (MailboxEntry)configurable;
                            if (flag && mailboxEntry.Identity.MailboxGuid == ((MailboxId)base.MapiObjectId).MailboxGuid)
                            {
                                list.Add((T)((object)mailboxEntry));
                            }
                            else if (flag2 && string.Equals(mailboxEntry.Identity.MailboxExchangeLegacyDn, ((MailboxId)base.MapiObjectId).MailboxExchangeLegacyDn, StringComparison.OrdinalIgnoreCase))
                            {
                                list.Add((T)((object)mailboxEntry));
                            }
                        }
                    }
                }
                if (list.Count == 0 && typeof(MailboxStatistics).IsAssignableFrom(typeof(T)) && !string.IsNullOrEmpty(this.displayName))
                {
                    foreach (T t2 in enumerable)
                    {
                        IConfigurable     configurable2     = t2;
                        MailboxStatistics mailboxStatistics = (MailboxStatistics)configurable2;
                        if (string.Equals(this.displayName, mailboxStatistics.DisplayName, StringComparison.OrdinalIgnoreCase))
                        {
                            list.Add((T)((object)mailboxStatistics));
                        }
                    }
                }
            }
            catch (MapiObjectNotFoundException)
            {
            }
            return(list);
        }
Esempio n. 18
0
 internal IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new()
 {
     notFoundReason = new LocalizedString?(Strings.ErrorManagementObjectNotFound(this.ToString()));
     return(session.FindPaged <T>((optionalData == null) ? null : optionalData.AdditionalFilter, this.Identity, false, null, 0));
 }
Esempio n. 19
0
 // Token: 0x06000B6B RID: 2923 RVA: 0x000244D1 File Offset: 0x000226D1
 public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session) where T : IConfigurable, new()
 {
     return(session.FindPaged <T>(null, rootId, false, null, 0));
 }
Esempio n. 20
0
        public static void CopyDavVdirsToMetabase(string domainController, string exchangeServerName, string metabaseServerName)
        {
            ADSessionSettings             sessionSettings = ADSessionSettings.FromRootOrgScopeSet();
            ITopologyConfigurationSession topologyConfigurationSession = DirectorySessionFactory.Default.CreateTopologyConfigurationSession(domainController, true, ConsistencyMode.PartiallyConsistent, null, sessionSettings, 154, "CopyDavVdirsToMetabase", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\SystemConfigurationTasks\\VirtualDirectoryTasks\\OWAVirtualDirectoryHelper.cs");
            Server server = topologyConfigurationSession.FindServerByName(exchangeServerName);
            IConfigDataProvider configDataProvider         = topologyConfigurationSession;
            IEnumerable <ADOwaVirtualDirectory> enumerable = configDataProvider.FindPaged <ADOwaVirtualDirectory>(null, server.Id, true, null, 0);

            OwaVirtualDirectoryHelper.SetWebSvcExtRestrictionList(metabaseServerName);
            foreach (ADOwaVirtualDirectory adowaVirtualDirectory in enumerable)
            {
                if (!adowaVirtualDirectory.IsExchange2007OrLater)
                {
                    string[] array = adowaVirtualDirectory.MetabasePath.Split(new char[]
                    {
                        '/'
                    });
                    if (array.Length == 7)
                    {
                        array[2] = metabaseServerName;
                        MultiValuedProperty <AuthenticationMethod> internalAuthenticationMethods = adowaVirtualDirectory.InternalAuthenticationMethods;
                        adowaVirtualDirectory.WindowsAuthentication = true;
                        string appPoolRootPath = IisUtility.GetAppPoolRootPath(metabaseServerName);
                        string text            = "MSExchangeOWAAppPool";
                        if (!IisUtility.Exists(appPoolRootPath, text, "IIsApplicationPool"))
                        {
                            using (DirectoryEntry directoryEntry = IisUtility.CreateApplicationPool(metabaseServerName, text))
                            {
                                IisUtility.SetProperty(directoryEntry, "AppPoolIdentityType", 0, true);
                                directoryEntry.CommitChanges();
                            }
                        }
                        if (!IisUtility.Exists(string.Join("/", array)))
                        {
                            DirectoryEntry directoryEntry2 = IisUtility.CreateWebDirObject(string.Join("/", array, 0, 6), adowaVirtualDirectory.FolderPathname, array[6]);
                            ArrayList      arrayList       = new ArrayList();
                            arrayList.Add(new MetabaseProperty("LogonMethod", MetabasePropertyTypes.LogonMethod.ClearTextLogon));
                            arrayList.Add(new MetabaseProperty("AccessFlags", MetabasePropertyTypes.AccessFlags.Read | MetabasePropertyTypes.AccessFlags.Write | MetabasePropertyTypes.AccessFlags.Source | MetabasePropertyTypes.AccessFlags.Script));
                            arrayList.Add(new MetabaseProperty("DirBrowseFlags", (MetabasePropertyTypes.DirBrowseFlags) 3221225534U));
                            arrayList.Add(new MetabaseProperty("ScriptMaps", OwaVirtualDirectoryHelper.GetDavScriptMaps(), true));
                            if (adowaVirtualDirectory.VirtualDirectoryType == VirtualDirectoryTypes.Exchweb)
                            {
                                arrayList.Add(new MetabaseProperty("HttpExpires", "D, 0x278d00"));
                            }
                            if (adowaVirtualDirectory.DefaultDomain.Length > 0)
                            {
                                arrayList.Add(new MetabaseProperty("DefaultLogonDomain", adowaVirtualDirectory.DefaultDomain, true));
                            }
                            OwaIsapiFilter.DisableFba(directoryEntry2);
                            uint num = 0U;
                            using (MultiValuedProperty <AuthenticationMethod> .Enumerator enumerator2 = adowaVirtualDirectory.InternalAuthenticationMethods.GetEnumerator())
                            {
                                while (enumerator2.MoveNext())
                                {
                                    switch (enumerator2.Current)
                                    {
                                    case AuthenticationMethod.Basic:
                                        num |= 2U;
                                        break;

                                    case AuthenticationMethod.Digest:
                                        num |= 16U;
                                        break;

                                    case AuthenticationMethod.Ntlm:
                                        num |= 4U;
                                        break;

                                    case AuthenticationMethod.Fba:
                                        OwaIsapiFilter.EnableFba(directoryEntry2);
                                        break;
                                    }
                                }
                            }
                            arrayList.Add(new MetabaseProperty("AuthFlags", num, true));
                            IisUtility.SetProperties(directoryEntry2, arrayList);
                            IisUtility.AssignApplicationPool(directoryEntry2, text);
                        }
                    }
                }
            }
        }
Esempio n. 21
0
 public IEnumerable <T> GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason) where T : IConfigurable, new()
 {
     notFoundReason = null;
     return(session.FindPaged <T>(null, rootId, false, null, 0));
 }
Esempio n. 22
0
        private static IEnumerable <ADComplianceProgram> GetDlpPolicies(IConfigDataProvider dataSession, string collectionName, QueryFilter filter)
        {
            ADComplianceProgramCollection dlpPolicyCollection = DlpUtils.GetDlpPolicyCollection(dataSession, collectionName);

            return(dataSession.FindPaged <ADComplianceProgram>(filter, dlpPolicyCollection.Id, false, null, 0));
        }
Esempio n. 23
0
 IEnumerable <T> IIdentityParameter.GetObjects <T>(ObjectId rootId, IConfigDataProvider session, OptionalIdentityData optionalData, out LocalizedString?notFoundReason)
 {
     notFoundReason = null;
     return(session.FindPaged <T>(null, rootId, false, null, 0));
 }