private SessionParameters BuildParameters(IOnPremisesOrganization configuration) { SessionParameters sessionParameters = new SessionParameters(); sessionParameters.Set <SmtpDomain>("HybridDomains", configuration.HybridDomains, (SmtpDomain d) => d.Domain); sessionParameters.Set("InboundConnector", TaskCommon.ToStringOrNull(configuration.InboundConnector)); sessionParameters.Set("OutboundConnector", TaskCommon.ToStringOrNull(configuration.OutboundConnector)); sessionParameters.Set("OrganizationRelationship", TaskCommon.ToStringOrNull(configuration.OrganizationRelationship)); sessionParameters.Set("OrganizationName", configuration.OrganizationName); return(sessionParameters); }
private void ValidateFopeConnectorsAreUpgraded(ITaskContext taskContext) { IOrganizationConfig organizationConfig = base.OnPremisesSession.GetOrganizationConfig(); IOnPremisesOrganization onPremisesOrganization = base.TenantSession.GetOnPremisesOrganization(organizationConfig.Guid); IInboundConnector inboundConnector = base.TenantSession.GetInboundConnector(onPremisesOrganization.InboundConnector.ToString()); IOutboundConnector outboundConnector = base.TenantSession.GetOutboundConnector(onPremisesOrganization.OutboundConnector.ToString()); if (inboundConnector.ConnectorSource != TenantConnectorSource.HybridWizard || outboundConnector.ConnectorSource != TenantConnectorSource.HybridWizard) { throw new LocalizedException(HybridStrings.ErrorHybridOnPremisesOrganizationWasNotCreatedWithUpgradedConnectors); } }
public void SetOnPremisesOrganization(IOnPremisesOrganization configuration, IOrganizationConfig onPremisesOrgConfig, MultiValuedProperty <SmtpDomain> hybridDomains, IInboundConnector inboundConnector, IOutboundConnector outboundConnector, OrganizationRelationship tenantOrgRel) { Microsoft.Exchange.Management.Hybrid.Entity.OnPremisesOrganization onPremisesOrganization = (Microsoft.Exchange.Management.Hybrid.Entity.OnPremisesOrganization)configuration; onPremisesOrganization.HybridDomains = hybridDomains; onPremisesOrganization.InboundConnector = inboundConnector.Identity; onPremisesOrganization.OutboundConnector = outboundConnector.Identity; onPremisesOrganization.OrganizationName = onPremisesOrgConfig.Name; onPremisesOrganization.OrganizationRelationship = (ADObjectId)tenantOrgRel.Identity; SessionParameters sessionParameters = this.BuildParameters(configuration); sessionParameters.Set("Identity", configuration.Identity.ToString()); base.RemotePowershellSession.RunCommand("Set-OnPremisesOrganization", sessionParameters); }