private UserWithCredential GetMonitoringAccount() { UserWithCredential result = default(UserWithCredential); string datacenter = Datacenter.IsMicrosoftHostedOnly(true) ? ".Datacenter" : string.Empty; ADSite localSite = this.ConfigSession.GetLocalSite(); try { result = CommonTestTasks.GetDefaultTestAccount(new CommonTestTasks.ClientAccessContext { Instance = this, MonitoringContext = true, ConfigurationSession = this.ConfigSession, RecipientSession = this.RecipientSession, Site = localSite, WindowsDomain = localSite.Id.DomainId.ToCanonicalName() }); } catch (Exception ex) { base.WriteError(new TestWebServicesTaskException(Strings.ErrorTestMailboxNotFound(ExchangeSetupContext.ScriptPath, datacenter, ex.ToString())), ErrorCategory.InvalidData, null); } if (string.IsNullOrEmpty(result.Credential.Password)) { base.WriteError(new TestWebServicesTaskException(Strings.ErrorTestMailboxPasswordNotFound(result.User.Identity.ToString(), ExchangeSetupContext.ScriptPath, datacenter)), ErrorCategory.InvalidData, null); } return(result); }
internal static UserWithCredential GetDefaultTestAccount(CommonTestTasks.ClientAccessContext context) { SmtpAddress?smtpAddress; if (TestConnectivityCredentialsManager.IsExchangeMultiTenant()) { smtpAddress = TestConnectivityCredentialsManager.GetMultiTenantAutomatedTaskUser(context.Instance, context.ConfigurationSession, context.Site); } else { smtpAddress = TestConnectivityCredentialsManager.GetEnterpriseAutomatedTaskUser(context.Site, context.WindowsDomain); } if (smtpAddress == null) { throw new MailboxNotFoundException(new MailboxIdParameter(), null); } MailboxIdParameter localMailboxId = new MailboxIdParameter(string.Format("{0}\\{1}", smtpAddress.Value.Domain, smtpAddress.Value.Local)); ADUser aduser = CommonTestTasks.EnsureSingleObject <ADUser>(() => localMailboxId.GetObjects <ADUser>(null, context.RecipientSession)); if (aduser == null) { throw new MailboxNotFoundException(new MailboxIdParameter(smtpAddress.ToString()), null); } ExchangePrincipal exchangePrincipal = ExchangePrincipal.FromADUser(aduser, null); if (exchangePrincipal == null) { throw new MailboxNotFoundException(new MailboxIdParameter(smtpAddress.ToString()), null); } NetworkCredential networkCredential = new NetworkCredential(smtpAddress.Value.ToString(), string.Empty, context.WindowsDomain); NetworkCredential networkCredential2 = CommonTestTasks.MakeCasCredential(networkCredential); bool flag = false; LocalizedException ex; if (Datacenter.IsLiveIDForExchangeLogin(true) || context.MonitoringContext) { ex = TestConnectivityCredentialsManager.LoadAutomatedTestCasConnectivityInfo(exchangePrincipal, networkCredential2); } else { ex = TestConnectivityCredentialsManager.ResetAutomatedCredentialsAndVerify(exchangePrincipal, networkCredential2, false, out flag); } if (ex != null) { throw ex; } networkCredential.Domain = smtpAddress.Value.Domain; networkCredential.Password = networkCredential2.Password; return(new UserWithCredential { User = aduser, Credential = networkCredential }); }