private void RestoreTransportSettings(IConfigurationSession scSession) { ADPagedReader <TransportConfigContainer> adpagedReader = scSession.FindPaged <TransportConfigContainer>(null, QueryScope.SubTree, null, null, 0); foreach (TransportConfigContainer transportConfigContainer in adpagedReader) { transportConfigContainer.TLSSendDomainSecureList = null; transportConfigContainer.TLSReceiveDomainSecureList = null; transportConfigContainer.InternalSMTPServers = null; scSession.Save(transportConfigContainer); } }
public static ADGroup GetDNSAdmins(ADDomain dom, IConfigurationSession session) { if (dom == null || session == null) { return(null); } ADObjectId[] ids = new ADObjectId[] { new ADObjectId("CN=DnsAdmins,CN=Users," + dom.DistinguishedName) }; return(session.FindByADObjectIds <ADGroup>(ids)[0].Data); }
private void RemoveEdgeSyncedObjects <T>(IConfigurationSession scSession) where T : ADConfigurationObject, new() { ADPagedReader <T> adpagedReader = scSession.FindPaged <T>(null, QueryScope.SubTree, null, null, 0); foreach (T t in adpagedReader) { scSession.DeleteTree(t, delegate(ADTreeDeleteNotFinishedException de) { base.WriteVerbose(de.LocalizedString); }); } }
internal static MailboxReplicationServiceClient Create(IConfigurationSession session, MRSJobType jobType, Guid mdbGuid, List <string> unreachableMrsServers) { MRSCapabilities requiredCapability = RequestJobXML.MapJobTypeToCapability(jobType); string text = null; DatabaseInformation databaseInformation = MapiUtils.FindServerForMdb(mdbGuid, null, null, FindServerFlags.None); if (!string.IsNullOrEmpty(databaseInformation.ServerFqdn)) { text = databaseInformation.ServerFqdn.ToLower(CultureInfo.InvariantCulture); } List <string> mrsServers = MailboxReplicationServiceClient.GetMrsServers(session, mdbGuid); List <string> list = new List <string>(mrsServers.Count); foreach (string text2 in mrsServers) { string text3 = text2.ToLower(CultureInfo.InvariantCulture); if (string.Compare(text3, text, CultureInfo.InvariantCulture, CompareOptions.Ordinal) != 0 && !unreachableMrsServers.Contains(text3)) { list.Add(text2); } } List <string> list2 = CommonUtils.RandomizeSequence <string>(list); if (text != null) { list2.Insert(0, text); } foreach (string text4 in list2) { try { return(MailboxReplicationServiceClient.Create(text4, requiredCapability)); } catch (MailboxReplicationPermanentException ex) { MrsTracer.Common.Warning("Attempt to connect to CAS Server {0} failed with error: {1}", new object[] { text4, CommonUtils.FullExceptionMessage(ex) }); } catch (MailboxReplicationTransientException ex2) { MrsTracer.Common.Warning("Attempt to connect to CAS Server {0} failed with error: {1}", new object[] { text4, CommonUtils.FullExceptionMessage(ex2) }); } unreachableMrsServers.Add(text4.ToLower(CultureInfo.InvariantCulture)); } throw new NoMRSAvailableTransientException(); }
protected override void InternalProcessRecord() { IConfigurationSession configurationSession = (IConfigurationSession)base.DataSession; configurationSession.DeleteTree(base.DataObject, delegate(ADTreeDeleteNotFinishedException de) { if (de != null) { base.WriteVerbose(de.LocalizedString); } }); }
// Token: 0x06000F8C RID: 3980 RVA: 0x0004A3F0 File Offset: 0x000485F0 private ExchangeConfigurationUnit ReadCU() { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(this); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 671, "ReadCU", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\OrganizationId.cs"); ExchangeConfigurationUnit exchangeConfigurationUnit = tenantOrTopologyConfigurationSession.Read <ExchangeConfigurationUnit>(this.ConfigurationUnit); if (exchangeConfigurationUnit == null) { throw new CannotResolveTenantNameException(DirectoryStrings.TenantOrgContainerNotFoundException(this.configUnit.DistinguishedName)); } return(exchangeConfigurationUnit); }
private void ApplyDefaultTransportSettings(IConfigurationSession session) { TransportConfigContainer[] array = session.Find <TransportConfigContainer>(null, QueryScope.SubTree, null, null, 1); if (array == null || array.Length == 0) { return; } array[0].MaxRecipientEnvelopeLimit = 500; array[0].MaxReceiveSize = ByteQuantifiedSize.FromKB(10240UL); array[0].MaxSendSize = ByteQuantifiedSize.FromKB(10240UL); session.Save(array[0]); }
private void MarkDivergencesHalting(QueryFilter filter) { ForwardSyncDataAccessHelper forwardSyncDataAccessHelper = new ForwardSyncDataAccessHelper(base.DataObject.ServiceInstanceId); IEnumerable <FailedMSOSyncObject> enumerable = forwardSyncDataAccessHelper.FindDivergence(filter); IConfigurationSession configurationSession = ForwardSyncDataAccessHelper.CreateSession(false); foreach (FailedMSOSyncObject failedMSOSyncObject in enumerable) { failedMSOSyncObject.IsIgnoredInHaltCondition = false; configurationSession.Save(failedMSOSyncObject); } }
// Token: 0x06000B6D RID: 2925 RVA: 0x00032990 File Offset: 0x00030B90 public static bool IsPublicFolderReplicationSuspended() { bool result = false; IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(false, ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromRootOrgScopeSet(), 97, "IsPublicFolderReplicationSuspended", "f:\\15.00.1497\\sources\\dev\\cluster\\src\\Replay\\Core\\PublicFolderHelper.cs"); Organization[] array = tenantOrTopologyConfigurationSession.Find <Organization>(null, QueryScope.SubTree, null, null, 0); if (array != null && array.Length > 0 && (array[0].Heuristics & HeuristicsFlags.SuspendFolderReplication) != HeuristicsFlags.None) { result = true; } return(result); }
private OrganizationId ResolveCurrentOrganization() { if (this.Organization != null) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(base.RootOrgContainerId, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, true); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(base.DomainController, true, ConsistencyMode.PartiallyConsistent, null, sessionSettings, ConfigScopes.TenantSubTree, 228, "ResolveCurrentOrganization", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\RecipientTasks\\TeamMailbox\\TeamMailboxDiagnosticsBase.cs"); tenantOrTopologyConfigurationSession.UseConfigNC = false; ADOrganizationalUnit adorganizationalUnit = (ADOrganizationalUnit)base.GetDataObject <ADOrganizationalUnit>(this.Organization, tenantOrTopologyConfigurationSession, null, new LocalizedString?(Strings.ErrorOrganizationNotFound(this.Organization.ToString())), new LocalizedString?(Strings.ErrorOrganizationNotUnique(this.Organization.ToString()))); return(adorganizationalUnit.OrganizationId); } return(base.CurrentOrganizationId ?? base.ExecutingUserOrganizationId); }
public static string GetServiceName() { ADSessionSettings sessionSettings = ADSessionSettings.FromRootOrgScopeSet(); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 108, "GetServiceName", "f:\\15.00.1497\\sources\\dev\\data\\src\\directory\\SystemConfiguration\\OAuth\\OAuthConfigHelper.cs"); AuthConfig authConfig = AuthConfig.Read(tenantOrTopologyConfigurationSession); if (authConfig == null) { throw new InvalidAuthConfigurationException(DirectoryStrings.ErrorInvalidAuthSettings(string.Empty)); } return((string)authConfig[AuthConfigSchema.ServiceName]); }
public static UMDialPlan GetDialPlanFromId(ADObjectId dialPlanId, IConfigurationSession session) { if (dialPlanId == null) { throw new ArgumentNullException("dialPlanId"); } if (session == null) { throw new ArgumentNullException("session"); } return(session.Read <UMDialPlan>(dialPlanId)); }
protected override IConfigDataProvider CreateSession() { if (OrganizationId.ForestWideOrgId.Equals(base.CurrentOrganizationId)) { base.WriteError(new ArgumentException(Strings.TenantOrganizationMissing, string.Empty), (ErrorCategory)1000, null); } ADObjectId rootOrgContainerIdForLocalForest = ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(); ADSessionSettings sessionSettings = ADSessionSettings.FromCustomScopeSet(base.ScopeSet, rootOrgContainerIdForLocalForest, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, true); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(this.DomainController, false, ConsistencyMode.PartiallyConsistent, sessionSettings, 149, "CreateSession", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\rms\\SetRmsTemplate.cs"); return(new RmsTemplateDataProvider(tenantOrTopologyConfigurationSession, RmsTemplateType.All, true)); }
// Token: 0x06000E62 RID: 3682 RVA: 0x00056A70 File Offset: 0x00054C70 private static ADObjectId GetDefaultSharingPolicyId(IConfigurationSession configurationSession) { FederatedOrganizationId federatedOrganizationId = configurationSession.GetFederatedOrganizationId(configurationSession.SessionSettings.CurrentOrganizationId); if (federatedOrganizationId == null || federatedOrganizationId.DefaultSharingPolicyLink == null) { SharingPolicyCache.Tracer.TraceError <OrganizationId>(0L, "Could not find FederatedOrganizationId or DefaultSharingPolicyLink for Org {0}", configurationSession.SessionSettings.CurrentOrganizationId); return(null); } SharingPolicyCache.Tracer.TraceDebug <OrganizationId, ADObjectId>(0L, "Found Default Policy Id {0} for Org {1} ", configurationSession.SessionSettings.CurrentOrganizationId, federatedOrganizationId.DefaultSharingPolicyLink); return(federatedOrganizationId.DefaultSharingPolicyLink); }
private static void FillDictionaryWithCompatibleLocalUMServers(IConfigurationSession session, Dictionary <ADObjectId, Server> searchTable, ADObjectId localSiteId) { if (localSiteId != null) { QueryFilter queryFilter = new AndFilter(new QueryFilter[] { CommonUtil.GetCompatibleServersWithRole(VersionEnum.Compatible, ServerRole.UnifiedMessaging), new ComparisonFilter(ComparisonOperator.Equal, ServerSchema.ServerSite, localSiteId) }); Utility.FillServerDictionary(session, searchTable, queryFilter); } }
internal static ArbitrationConfigFromAD GetArbitrationConfigFromAD(string serviceInstanceName) { IConfigurationSession configurationSession = ForwardSyncDataAccessHelper.CreateSession(true); RidMasterInfo ridMasterInfo = SyncDaemonArbitrationConfigHelper.GetRidMasterInfo(configurationSession); SyncServiceInstance[] array = configurationSession.Find <SyncServiceInstance>(SyncServiceInstance.GetMsoSyncRootContainer(), QueryScope.SubTree, new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Name, serviceInstanceName), null, 1); if (array == null || array.Length != 1) { throw new SyncDaemonArbitrationConfigException(Strings.ErrorCannotRetrieveSyncDaemonArbitrationConfigContainer((array == null) ? "0" : array.Length.ToString())); } return(new ArbitrationConfigFromAD(array[0], ridMasterInfo)); }
private static void LoadDCIsDirSyncRunning(OrganizationCache.AddValueHandler addValue, OrganizationCache.LogErrorHandler logError) { OrganizationId organizationId = RbacPrincipal.Current.RbacConfiguration.OrganizationId; IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(organizationId), 668, "LoadDCIsDirSyncRunning", "f:\\15.00.1497\\sources\\dev\\admin\\src\\ecp\\Organization\\OrganizationCache.cs"); ADRawEntry adrawEntry = tenantOrTopologyConfigurationSession.ReadADRawEntry(organizationId.ConfigurationUnit, new PropertyDefinition[] { OrganizationSchema.IsDirSyncRunning }); bool flag = adrawEntry != null && (bool)adrawEntry[OrganizationSchema.IsDirSyncRunning]; addValue("DCIsDirSyncRunning", flag); }
private void CreateAuthServersContainer() { ADObjectId containerId = AuthServer.GetContainerId(this.ConfigurationSession); if (this.ConfigurationSession.Read <Container>(containerId) == null) { IConfigurationSession configurationSession = (IConfigurationSession)base.DataSession; Container container = new Container(); container.SetId(containerId); configurationSession.Save(container); } }
protected override OrganizationId ResolveCurrentOrganization() { if (this.Organization != null) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(base.RootOrgContainerId, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, true); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(base.DomainController, true, ConsistencyMode.PartiallyConsistent, null, sessionSettings, 161, "ResolveCurrentOrganization", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\StoreTasks\\AsyncOperationNotification\\GetNotification.cs"); tenantOrTopologyConfigurationSession.UseConfigNC = false; ADOrganizationalUnit adorganizationalUnit = (ADOrganizationalUnit)base.GetDataObject <ADOrganizationalUnit>(this.Organization, tenantOrTopologyConfigurationSession, null, new LocalizedString?(Strings.ErrorOrganizationNotFound(this.Organization.ToString())), new LocalizedString?(Strings.ErrorOrganizationNotUnique(this.Organization.ToString()))); return(adorganizationalUnit.OrganizationId); } return(base.ResolveCurrentOrganization()); }
private void ResolveCurrentOrganization() { if (this.Organization != null) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(base.RootOrgContainerId, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, true); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(base.DomainController, true, ConsistencyMode.PartiallyConsistent, null, sessionSettings, 90, "ResolveCurrentOrganization", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\transport\\UnifiedPolicy\\Tasks\\RemoveCompliancePolicySyncNotification.cs"); tenantOrTopologyConfigurationSession.UseConfigNC = false; ADOrganizationalUnit adorganizationalUnit = (ADOrganizationalUnit)base.GetDataObject <ADOrganizationalUnit>(this.Organization, tenantOrTopologyConfigurationSession, null, null, new LocalizedString?(Strings.ErrorOrganizationNotFound(this.Organization.ToString())), new LocalizedString?(Strings.ErrorOrganizationNotUnique(this.Organization.ToString())), ExchangeErrorCategory.Client); base.CurrentOrganizationId = adorganizationalUnit.OrganizationId; } Utils.ValidateNotForestWideOrganization(base.CurrentOrganizationId); }
private IConfigurationSession GetDialPlanSession() { IConfigurationSession result = (IConfigurationSession)base.DataSession; if (this.SharedUMDialPlan) { ADObjectId rootOrgContainerIdForLocalForest = ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(); ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrgContainerIdForLocalForest, base.CurrentOrganizationId, base.ExecutingUserOrganizationId, true); result = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, sessionSettings, 167, "GetDialPlanSession", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\MailboxPolicies\\UMMailboxPolicyTask.cs"); } return(result); }
// Token: 0x06000E61 RID: 3681 RVA: 0x000568D8 File Offset: 0x00054AD8 private static SharingPolicyCache GetDehydratedPolicyFromCacheOrAD(OrganizationId orgId, ADObjectId policyId) { SharingPolicyCache sharingPolicyCache; if (policyId != SharingPolicyCache.DynamicDefaultPolicy) { lock (SharingPolicyCache.cacheSyncLock) { if (SharingPolicyCache.dehydratedDefaultCache.TryGetValue(policyId.ObjectGuid, out sharingPolicyCache)) { SharingPolicyCache.Tracer.TraceDebug <ADObjectId>(0L, "Found Sharing Policy {0} in dehydrated cache.", policyId); return(sharingPolicyCache); } } } SharedConfiguration sharedConfiguration = SharedConfiguration.GetSharedConfiguration(orgId); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, sharedConfiguration.GetSharedConfigurationSessionSettings(), 282, "GetDehydratedPolicyFromCacheOrAD", "f:\\15.00.1497\\sources\\dev\\MailboxAssistants\\src\\assistants\\SharingPolicy\\SharingPolicyCache.cs"); tenantOrTopologyConfigurationSession.SessionSettings.IsSharedConfigChecked = true; bool flag2 = policyId == SharingPolicyCache.DynamicDefaultPolicy; if (flag2) { SharingPolicyCache.Tracer.TraceDebug <OrganizationId>(0L, "Find Default Policy Id for Org {0} ", orgId); policyId = SharingPolicyCache.GetDefaultSharingPolicyId(tenantOrTopologyConfigurationSession); if (policyId == null) { return(null); } lock (SharingPolicyCache.cacheSyncLock) { if (SharingPolicyCache.dehydratedDefaultCache.TryGetValue(policyId.ObjectGuid, out sharingPolicyCache)) { SharingPolicyCache.Tracer.TraceDebug <ADObjectId>(0L, "Found Sharing Policy {0} in dehydrated cache.", policyId); return(sharingPolicyCache); } } } SharingPolicy sharingPolicy = tenantOrTopologyConfigurationSession.Read <SharingPolicy>(policyId); if (sharingPolicy == null) { SharingPolicyCache.Tracer.TraceError <ADObjectId, bool>(0L, "Unable to find SharingPolicy {0} in the AD. PolicyId is default:{1}", policyId, flag2); return(null); } sharingPolicyCache = new SharingPolicyCache(sharingPolicy, true); lock (SharingPolicyCache.cacheSyncLock) { SharingPolicyCache.dehydratedDefaultCache[policyId.ObjectGuid] = sharingPolicyCache; } return(sharingPolicyCache); }
public static void CleanADOrphanAndInconsistency() { PartitionId[] allAccountPartitionIds = ADAccountPartitionLocator.GetAllAccountPartitionIds(); for (int i = 0; i < allAccountPartitionIds.Length; i++) { PartitionId partitionId = allAccountPartitionIds[i]; CommonUtils.CheckForServiceStopping(); ADSessionSettings adsessionSettings = ADSessionSettings.FromAllTenantsPartitionId(partitionId); adsessionSettings.IncludeSoftDeletedObjects = true; adsessionSettings.IncludeInactiveMailbox = true; IRecipientSession recipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, false, ConsistencyMode.PartiallyConsistent, null, adsessionSettings, 45, "CleanADOrphanAndInconsistency", "f:\\15.00.1497\\sources\\dev\\mrs\\src\\Service\\ADInconsistencyCheck.cs"); IConfigurationSession configSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(null, false, ConsistencyMode.PartiallyConsistent, null, adsessionSettings, 52, "CleanADOrphanAndInconsistency", "f:\\15.00.1497\\sources\\dev\\mrs\\src\\Service\\ADInconsistencyCheck.cs"); using (List <Guid> .Enumerator enumerator = MapiUtils.GetDatabasesOnThisServer().GetEnumerator()) { while (enumerator.MoveNext()) { Guid dbGuid = enumerator.Current; CommonUtils.CheckForServiceStopping(); DatabaseInformation databaseInformation = MapiUtils.FindServerForMdb(dbGuid, null, null, FindServerFlags.AllowMissing); if (databaseInformation.IsMissing) { MrsTracer.Service.Debug("CleanADOrphanAndInconsistency Database {0} in Forest {1} is missing, skip it", new object[] { dbGuid, databaseInformation.ForestFqdn }); } else { CommonUtils.CatchKnownExceptions(delegate { ADInconsistencyCheck.CleanADOrphanAndInconsistencyForRequests(recipientSession, configSession, dbGuid); }, delegate(Exception f) { MrsTracer.Service.Error("CleanADOrphanAndInconsistency() failed for DB {0}. Error: {1}", new object[] { dbGuid, CommonUtils.FullExceptionMessage(f, true) }); MRSService.LogEvent(MRSEventLogConstants.Tuple_ScanADInconsistencyRequestFailEvent, new object[] { dbGuid, string.Empty, string.Empty, CommonUtils.FullExceptionMessage(f, true) }); }); } } } } }
internal static List <AdFolderData> GetUserElcFolders(MailboxSession session, ADUser aduser, List <ELCFolder> allAdFolders, bool getFoldersOnly, bool getOrgFoldersOnly) { if (allAdFolders == null || allAdFolders.Count == 0 || aduser == null) { return(null); } string arg = session.MailboxOwner.MailboxInfo.PrimarySmtpAddress.ToString(); ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(session.MailboxOwner.MailboxInfo.OrganizationId); IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.FullyConsistent, sessionSettings, 258, "GetUserElcFolders", "f:\\15.00.1497\\sources\\dev\\infoworker\\src\\common\\ELC\\AdFolderReader.cs"); ADObjectId managedFolderMailboxPolicy = aduser.ManagedFolderMailboxPolicy; if (managedFolderMailboxPolicy == null) { AdReader.Tracer.TraceDebug <string>(0L, "Mailbox '{0}' does not have an ELC Mailbox policy.", arg); return(null); } ManagedFolderMailboxPolicy managedFolderMailboxPolicy2 = tenantOrTopologyConfigurationSession.Read <ManagedFolderMailboxPolicy>(managedFolderMailboxPolicy); if (managedFolderMailboxPolicy2 == null) { AdReader.Tracer.TraceDebug <string, ADObjectId>(0L, "Mailbox '{0}' no matching ELC Mailbox policy for Template '{1}'.", arg, managedFolderMailboxPolicy); return(null); } MultiValuedProperty <ADObjectId> managedFolderLinks = managedFolderMailboxPolicy2.ManagedFolderLinks; List <AdFolderData> list = new List <AdFolderData>(); using (MultiValuedProperty <ADObjectId> .Enumerator enumerator = managedFolderLinks.GetEnumerator()) { while (enumerator.MoveNext()) { ADObjectId elcFolderId = enumerator.Current; ELCFolder elcfolder = allAdFolders.Find((ELCFolder adFolder) => elcFolderId.ObjectGuid == adFolder.Id.ObjectGuid); if (elcfolder == null) { throw new ELCNoMatchingOrgFoldersException(elcFolderId.DistinguishedName); } if (!getOrgFoldersOnly || elcfolder.FolderType == ElcFolderType.ManagedCustomFolder) { AdFolderData adFolderData = new AdFolderData(); adFolderData.LinkedToTemplate = true; adFolderData.Synced = false; adFolderData.Folder = elcfolder; if (!getFoldersOnly) { adFolderData.FolderSettings = AdFolderReader.FetchFolderContentSettings(elcfolder); } list.Add(adFolderData); } } } return(list); }
internal static string GenerateUniqueRoleAssignmentName(IConfigurationSession configurationSession, ADObjectId orgContainerId, string roleName, string roleAssigneeName, RoleAssignmentDelegationType roleAssignmentDelegationType, Task.TaskVerboseLoggingDelegate writeVerbose) { if (configurationSession == null) { throw new ArgumentNullException("configurationSession"); } if (orgContainerId == null) { throw new ArgumentNullException("orgContainerId"); } string text = roleName + "-" + roleAssigneeName; if (roleAssignmentDelegationType != RoleAssignmentDelegationType.Regular) { text += "-Delegating"; } text = text.Trim(); if (text.Length > 64) { text = text.Substring(0, 64).Trim(); } if (writeVerbose == null) { throw new ArgumentNullException("writeVerbose"); } ADObjectId descendantId = orgContainerId.GetDescendantId(ExchangeRoleAssignment.RdnContainer); string text2 = text; if (text2.Length > 61) { text2 = text2.Substring(0, 61).Trim(); } int num = 1; for (;;) { QueryFilter filter = new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Name, text); writeVerbose(TaskVerboseStringHelper.GetFindDataObjectsVerboseString(configurationSession, typeof(ExchangeRoleAssignment), filter, descendantId, false)); ExchangeRoleAssignment[] array = configurationSession.Find <ExchangeRoleAssignment>(descendantId, QueryScope.OneLevel, filter, null, 1); if (array.Length == 0) { break; } text = text2 + "-" + num.ToString(); num++; if (num >= 100) { return(text); } } return(text); }
public virtual void GetTenantSharePointUrls(IConfigurationSession configurationSession, out Uri spRootUrl, out Uri spAdminUrl) { ArgumentValidator.ThrowIfNull("configurationSession", configurationSession); spRootUrl = null; spAdminUrl = null; string organizationIdKey = this.GetOrganizationIdKey(configurationSession); if (!string.IsNullOrEmpty(organizationIdKey)) { spRootUrl = this.GetUrlFromConfigFile("UP_SPRootSite_" + organizationIdKey); spAdminUrl = this.GetUrlFromConfigFile("UP_SPAdminSite_" + organizationIdKey); } }
protected override PerTenantPolicyNudgeRulesCollection.PolicyNudgeRules Read(IConfigurationSession session) { ADPagedReader <PolicyTipMessageConfig> adpagedReader = session.FindPaged <PolicyTipMessageConfig>(PerTenantPolicyNudgeRulesCollection.GetPolicyTipMessageConfigsContainerId(session), QueryScope.SubTree, null, null, 0); IEnumerable <PolicyTipMessageConfig> tenantPolicyTipMessages = adpagedReader.ReadAllPages(); ADPagedReader <TransportRule> adpagedReader2 = session.FindPaged <TransportRule>(PerTenantPolicyNudgeRulesCollection.GetPolicyNudgeRuleContainerId(session), QueryScope.SubTree, null, PerTenantPolicyNudgeRulesCollection.PriorityOrder, 0); PolicyNudgeRuleParser parser = PolicyNudgeRuleParser.Instance; IEnumerable <PolicyNudgeRule> tenantPolicyNudgeRules = (from rule in adpagedReader2.ReadAllPages() select parser.GetRule(rule.Xml, rule.Name, rule.WhenChangedUTC ?? (rule.WhenCreatedUTC ?? DateTime.MinValue)) into rule where rule != null select rule).ToList <PolicyNudgeRule>(); return(new PerTenantPolicyNudgeRulesCollection.PolicyNudgeRules(tenantPolicyNudgeRules, new PerTenantPolicyNudgeRulesCollection.PolicyTipMessages(tenantPolicyTipMessages))); }
protected override void WriteResult(IConfigurable dataObject) { TransportConfigContainer transportConfigContainer = (TransportConfigContainer)dataObject; base.WriteResult(transportConfigContainer); IConfigurationSession configurationSession = (IConfigurationSession)base.DataSession; MessageDeliveryGlobalSettings[] array = configurationSession.Find <MessageDeliveryGlobalSettings>(configurationSession.GetOrgContainerId(), QueryScope.SubTree, new ComparisonFilter(ComparisonOperator.Equal, ADObjectSchema.Name, MessageDeliveryGlobalSettings.DefaultName), null, 1); if (array.Length > 0 && (array[0].MaxReceiveSize != transportConfigContainer.MaxReceiveSize || array[0].MaxSendSize != transportConfigContainer.MaxSendSize || array[0].MaxRecipientEnvelopeLimit != transportConfigContainer.MaxRecipientEnvelopeLimit) && !this.IsPureE12Environment()) { this.WriteWarning(Strings.WarningMessageSizeRestrictionOutOfSync); } }
private static Uri GetRootSiteUrlFromExchangeAD(OrganizationId organizationId) { IConfigurationSession tenantOrTopologyConfigurationSession = DirectorySessionFactory.Default.GetTenantOrTopologyConfigurationSession(ConsistencyMode.IgnoreInvalid, ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(organizationId), 146, "GetRootSiteUrlFromExchangeAD", "f:\\15.00.1497\\sources\\dev\\UnifiedGroups\\src\\UnifiedGroups\\SharePointNotification\\SharePointUrl.cs"); ADObjectId orgContainerId = tenantOrTopologyConfigurationSession.GetOrgContainerId(); ADOrganizationConfig adorganizationConfig = tenantOrTopologyConfigurationSession.Read <ADOrganizationConfig>(orgContainerId); if (adorganizationConfig == null) { SharePointUrl.Tracer.TraceError <OrganizationId>(0L, "ADOrganizationConfig not found for {0}", organizationId); return(null); } return(adorganizationConfig.SharePointUrl); }
public static bool ValidateDDLArguments(IConfigurationSession session, string cluster, DataDefinitionType defType, DbObjectType objType, DdlConfiguration parsedConf, out ICloneable configuration, out Dictionary <string, object> confValues) { ConfigurationValidator validator = new ConfigurationValidator(session, cluster, defType, objType); if (validator.Validate(ToEqualityComparerDictionary(parsedConf.Configuration), out configuration, out confValues)) { return(true); } return(false); }