示例#1
0
 internal MExConfiguration(Datacenter.ExchangeSku exchangeSku, ProcessTransportRole transportProcessRole, string installPath)
 {
     this.monitoringOptions    = new MonitoringOptions();
     this.agentList            = new List <AgentInfo>();
     this.exchangeSku          = exchangeSku;
     this.transportProcessRole = transportProcessRole;
     this.installPath          = installPath;
 }
        internal static RoleGroupCollection RoleGroupsToCreate()
        {
            RoleGroupCollection roleGroupCollection = new RoleGroupCollection();

            Datacenter.ExchangeSku exchangeSku = Datacenter.GetExchangeSku();
            RoleGroupRoleMapping[] definition;
            if (Datacenter.IsMicrosoftHostedOnly(false))
            {
                definition = Datacenter_RoleGroupDefinition.Definition;
            }
            else if (Datacenter.IsPartnerHostedOnly(false))
            {
                definition = Hosting_RoleGroupDefinition.Definition;
            }
            else if (Datacenter.IsDatacenterDedicated(false))
            {
                definition = Dedicated_RoleGroupDefinition.Definition;
            }
            else
            {
                definition = Enterprise_RoleGroupDefinition.Definition;
            }
            using (List <RoleGroupDefinition> .Enumerator enumerator = RoleGroupDefinitions.RoleGroups.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    RoleGroupDefinition roleGroup = enumerator.Current;
                    if (roleGroup.AlwaysCreateOnSku != null && roleGroup.AlwaysCreateOnSku.Contains(exchangeSku))
                    {
                        roleGroupCollection.Add(new RoleGroupDefinition(roleGroup));
                    }
                    else
                    {
                        RoleGroupRoleMapping roleGroupRoleMapping = definition.FirstOrDefault((RoleGroupRoleMapping x) => x.RoleGroup.Equals(roleGroup.Name, StringComparison.OrdinalIgnoreCase));
                        if (roleGroupRoleMapping != null)
                        {
                            roleGroupCollection.Add(new RoleGroupDefinition(roleGroup));
                        }
                    }
                }
            }
            return(roleGroupCollection);
        }
示例#3
0
        private string GetXmlMarkups(Datacenter.ExchangeSku exchangeSku, ProcessTransportRole transportProcessRole)
        {
            string result = null;

            switch (exchangeSku)
            {
            case Datacenter.ExchangeSku.Enterprise:
            case Datacenter.ExchangeSku.DatacenterDedicated:
                switch (transportProcessRole)
                {
                case ProcessTransportRole.Hub:
                    result = "enterpriseBridgehead";
                    break;

                case ProcessTransportRole.Edge:
                    result = "enterpriseGateway";
                    break;

                case ProcessTransportRole.FrontEnd:
                    result = "enterpriseFrontend";
                    break;

                case ProcessTransportRole.MailboxSubmission:
                    result = "enterpriseMailboxSubmission";
                    break;

                case ProcessTransportRole.MailboxDelivery:
                    result = "enterpriseMailboxDelivery";
                    break;
                }
                break;

            case Datacenter.ExchangeSku.ExchangeDatacenter:
                switch (transportProcessRole)
                {
                case ProcessTransportRole.Hub:
                    result = "exchangeDatacenterBridgehead";
                    break;

                case ProcessTransportRole.FrontEnd:
                    result = "exchangeDatacenterFrontend";
                    break;

                case ProcessTransportRole.MailboxSubmission:
                    result = "exchangeDatacenterMailboxSubmission";
                    break;

                case ProcessTransportRole.MailboxDelivery:
                    result = "exchangeDatacenterMailboxDelivery";
                    break;
                }
                break;

            case Datacenter.ExchangeSku.PartnerHosted:
                switch (transportProcessRole)
                {
                case ProcessTransportRole.Hub:
                    result = "partnerHostedBridgehead";
                    break;

                case ProcessTransportRole.Edge:
                    result = "partnerHostedGateway";
                    break;

                case ProcessTransportRole.MailboxSubmission:
                    result = "partnerHostedMailboxSubmission";
                    break;

                case ProcessTransportRole.MailboxDelivery:
                    result = "partnerHostedMailboxDelivery";
                    break;
                }
                break;

            case Datacenter.ExchangeSku.ForefrontForOfficeDatacenter:
                switch (transportProcessRole)
                {
                case ProcessTransportRole.Hub:
                    result = "forefrontForOfficeBridgehead";
                    break;

                case ProcessTransportRole.FrontEnd:
                    result = "forefrontForOfficeFrontend";
                    break;
                }
                break;
            }
            return(result);
        }
示例#4
0
 private ExchangeSkuQueryProcessor(Datacenter.ExchangeSku exchangeSku)
 {
     this.ExchangeSku = exchangeSku;
 }