protected override IConfigDataProvider CreateSession() { this.ResolveCurrentOrganization(); ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(base.TenantGlobalCatalogSession); return(new UnifiedPolicySyncNotificationDataProvider(base.SessionSettings, discoveryMailbox, "Remove-CompliancePolicySyncNotification")); }
public static ADUser GetTenantArbitrationMailbox(OrganizationId organizationId) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.IgnoreInvalid, sessionSettings, 287, "GetTenantArbitrationMailbox", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\AdminAuditLog\\AdminAuditLogHelper.cs"); return(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession)); }
public static ADUser GetSystemMailbox(IRecipientSession recipientSession, Task task) { if (recipientSession == null) { throw new ArgumentNullException("recipientSession"); } if (task == null) { throw new ArgumentNullException("task"); } ADUser result = null; try { result = MailboxDataProvider.GetDiscoveryMailbox(recipientSession); } catch (ObjectNotFoundException exception) { task.WriteError(exception, ErrorCategory.ReadError, null); } catch (NonUniqueRecipientException exception2) { task.WriteError(exception2, ErrorCategory.ReadError, null); } return(result); }
internal static MailboxSession GetMailboxSession(OrganizationId organizationId, string action) { ADSessionSettings sessionSettings = organizationId.ToADSessionSettings(); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.FullyConsistent, sessionSettings, 99, "GetMailboxSession", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\AuditLogSearch\\AuditLogSearchDataProvider.cs"); ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession); return(AuditLogSearchDataProviderBase.GetMailboxSession(discoveryMailbox, action)); }
protected override TenantInfoProvider CreateOnCacheMiss(Guid key, ref bool shouldAdd) { OrganizationId scopingOrganizationId = OrganizationId.FromExternalDirectoryOrganizationId(key); ADSessionSettings adsessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopesServiceOnly(scopingOrganizationId); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, true, ConsistencyMode.PartiallyConsistent, adsessionSettings, 99, "CreateOnCacheMiss", "f:\\15.00.1497\\sources\\dev\\data\\src\\storage\\UnifiedPolicy\\TenantInfoProviderFactory.cs"); ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession); ExchangePrincipal syncMailboxPrincipal = ExchangePrincipal.FromADUser(adsessionSettings, discoveryMailbox); return(new TenantInfoProvider(syncMailboxPrincipal)); }
public static ADRecipient GetSystemMailbox(ADObject dataObject, IConfigurationSession configSession) { if (dataObject == null) { throw new ArgumentNullException("dataObject"); } if (configSession == null) { throw new ArgumentNullException("configSession"); } IRecipientSession recipientSessionScopedToOrganization = Utility.GetRecipientSessionScopedToOrganization(dataObject.OrganizationId, false); ADRecipient discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox(recipientSessionScopedToOrganization); ExAssert.RetailAssert(dataObject.OrganizationId.Equals(discoveryMailbox.OrganizationId), "The organization ids of the data object and system mailbox do not match."); return(discoveryMailbox); }
// Token: 0x06000143 RID: 323 RVA: 0x000087B8 File Offset: 0x000069B8 private ExchangePrincipal GetTenantMailbox(OrganizationId organizationId) { if (!(organizationId == null) && !(organizationId == OrganizationId.ForestWideOrgId)) { string name = organizationId.OrganizationalUnit.Name; } ExchangePrincipal result = null; ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.PartiallyConsistent, sessionSettings, 513, "GetTenantMailbox", "f:\\15.00.1497\\sources\\dev\\MailboxAssistants\\src\\assistants\\elc\\AdDataCache.cs"); try { result = ExchangePrincipal.FromADUser(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession), null); } catch (ObjectNotFoundException ex) { throw new DataSourceOperationException(ex.LocalizedString, ex); } return(result); }
internal static MailboxDataProvider GetMailboxDataProvider(ADObjectId rootOrg, OrganizationId currentOrg, OrganizationId executingOrg, Task.TaskErrorLoggingDelegate writeErrorDelegate) { MailboxDataProvider result = null; try { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(rootOrg, currentOrg, executingOrg, true); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.IgnoreInvalid, sessionSettings, 694, "GetMailboxDataProvider", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\Search\\Utils.cs"); result = new MailboxDataProvider(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession), tenantOrRootOrgRecipientSession); } catch (ObjectNotFoundException exception) { writeErrorDelegate(exception, ErrorCategory.WriteError, null); } catch (NonUniqueRecipientException exception2) { writeErrorDelegate(exception2, ErrorCategory.WriteError, null); } return(result); }
public static ExchangePrincipal GetTenantMailbox(OrganizationId organizationId) { string organizationKey = TenantStoreDataProvider.GetOrganizationKey(organizationId); ExchangePrincipal exchangePrincipal = null; if (!TenantStoreDataProvider.exchangePrincipalCache.TryGetValue(organizationKey, out exchangePrincipal)) { ADSessionSettings sessionSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false); IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(true, ConsistencyMode.IgnoreInvalid, sessionSettings, 67, "GetTenantMailbox", "f:\\15.00.1497\\sources\\dev\\data\\src\\storage\\Management\\EwsDriver\\TenantStoreDataProvider.cs"); try { exchangePrincipal = ExchangePrincipal.FromADUser(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession), null); } catch (ObjectNotFoundException ex) { throw new DataSourceOperationException(ex.LocalizedString, ex); } TenantStoreDataProvider.exchangePrincipalCache.Add(organizationKey, exchangePrincipal); } return(exchangePrincipal); }
protected override void InternalProcessRecord() { ADUser discoveryMailbox = MailboxDataProvider.GetDiscoveryMailbox((IRecipientSession)base.DataSession); ExchangePrincipal exchangePrincipal = ExchangePrincipal.FromADUser(discoveryMailbox, null); List <SyncChangeInfo> list = null; if (this.SyncChangeInfos != null && this.SyncChangeInfos.Count > 0) { list = new List <SyncChangeInfo>(); foreach (string input in this.SyncChangeInfos) { list.Add(new SyncChangeInfo(input)); } } SyncNotificationResult syncNotificationResult = RpcClientWrapper.NotifySyncChanges(this.Identity, exchangePrincipal.MailboxInfo.Location.ServerFqdn, new Guid(this.organizationId.ToExternalDirectoryOrganizationId()), this.SyncSvcUrl, this.FullSync, this.SyncNow, (list != null) ? list.ToArray() : null); if (!syncNotificationResult.Success) { base.WriteError(syncNotificationResult.Error, ErrorCategory.WriteError, syncNotificationResult); } base.WriteObject((UnifiedPolicySyncNotification)syncNotificationResult.ResultObject); }
protected override ADUser CreateOnCacheMiss(Guid key, ref bool shouldAdd) { IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, true, ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromExternalDirectoryOrganizationId(key), 42, "CreateOnCacheMiss", "f:\\15.00.1497\\sources\\dev\\data\\src\\storage\\UnifiedPolicy\\SyncArbitrationMailboxADObjectCache.cs"); return(MailboxDataProvider.GetDiscoveryMailbox(tenantOrRootOrgRecipientSession)); }