// Token: 0x0600074A RID: 1866 RVA: 0x0001C7C0 File Offset: 0x0001A9C0 private MailboxSession GetMailboxSession(string organizationIdEncoded, Guid mailboxGuid) { CacheEntry <MailboxSession> cacheEntry; MailboxSession result; if (this.sessions.TryGetValue(mailboxGuid, DateTime.UtcNow, out cacheEntry)) { result = cacheEntry.Value; } else { OrganizationId organizationId = AuditRecordDatabaseWriterVisitor.GetOrganizationId(organizationIdEncoded); ADSessionSettings adSettings = ADSessionSettings.FromOrganizationIdWithoutRbacScopes(ADSystemConfigurationSession.GetRootOrgContainerIdForLocalForest(), organizationId, null, false); ExchangePrincipal mailboxOwner = ExchangePrincipal.FromMailboxGuid(adSettings, mailboxGuid, RemotingOptions.AllowCrossSite, null); result = MailboxSession.OpenAsSystemService(mailboxOwner, CultureInfo.InvariantCulture, "Client=Management;Action=AuditLog"); } return(result); }
private ExchangePrincipal GetExchangePrincipal(string organizationIdEncoded) { CacheEntry <ExchangePrincipal> cacheEntry; ExchangePrincipal exchangePrincipal; if (this.principals.TryGetValue(organizationIdEncoded, DateTime.UtcNow, out cacheEntry)) { exchangePrincipal = cacheEntry.Value; } else { OrganizationId organizationId = AuditRecordDatabaseWriterVisitor.GetOrganizationId(organizationIdEncoded); ADUser tenantArbitrationMailbox = AdminAuditWriter.GetTenantArbitrationMailbox(organizationId); exchangePrincipal = ExchangePrincipal.FromADUser(tenantArbitrationMailbox, null); this.principals.TryAdd(organizationIdEncoded, DateTime.UtcNow, new CacheEntry <ExchangePrincipal>(exchangePrincipal)); } return(exchangePrincipal); }