Examples/EndToEndExample/ExchangeSettings-Prod.psd1

@{
    AllNodes = @(
        @{
            #region Common Settings for All Nodes
            NodeName        = '*'

            #CertificateFile and Thumbprint are used for securing credentials. See:
            #http://blogs.msdn.com/b/powershell/archive/2014/01/31/want-to-secure-credentials-in-windows-powershell-desired-state-configuration.aspx
            
            #The location on the compiling machine of the public key export of the certfificate which will be used to encrypt credentials
            CertificateFile = 'C:\Certificates\DSCCertificate-Public.cer' 

            #Thumbprint of the certificate being used for encrypting credentials
            Thumbprint      = 'ef0b73be1be1344431e96ed51f475f680e5add22'

            #The product key to license Exchange 2013
            ProductKey = '12345-12345-12345-12345-12345'

            #The paths to the CSV files generated by the Server Role Requirements Calculator
            ServersCsvPath               = "C:\Demo\Calculators\Prod\Servers.csv"
            MailboxDatabasesCsvPath      = "C:\Demo\Calculators\Prod\MailboxDatabases.csv"
            MailboxDatabaseCopiesCsvPath = "C:\Demo\Calculators\Prod\MailboxDatabaseCopies.csv"

            #DiskToDBMap used by xExchAutoMountPoint specifically for Jetstress purposes
            JetstressDiskToDBMap = 'DB1,DB2,DB3,DB4','DB5,DB6,DB7,DB8','DB9,DB10,DB11,DB12','DB13,DB14,DB15,DB16','DB17,DB18,DB19,DB20','DB21,DB22,DB23,DB24','DB25,DB26,DB27,DB28','DB29,DB30,DB31,DB32','DB33,DB34,DB35,DB36','DB37,DB38,DB39,DB40'

            #The base file server UNC path that will be used for copying things like certificates, Exchange binaries, and Jetstress binaries
            FileServerBase = '\\fileserver1.contoso.com\Binaries'

            #endregion
        }

        #region Individual Node Settings
        #region DAG01 Nodes
        @{
            NodeName        = 'SRV-01-01'
            Fqdn            = 'SRV-01-01.contoso.com'
            Role            = 'FirstDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-01'          
        }

        @{
            NodeName        = 'SRV-01-02'
            Fqdn            = 'SRV-01-02.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-02'
        }

        @{
            NodeName        = 'SRV-01-03'
            Fqdn            = 'SRV-01-03.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-03'       
        }

        @{
            NodeName        = 'SRV-01-04'
            Fqdn            = 'SRV-01-04.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-04'
        }

        @{
            NodeName        = 'SRV-01-05'
            Fqdn            = 'SRV-01-05.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-05'
        }

        @{
            NodeName        = 'SRV-01-06'
            Fqdn            = 'SRV-01-06.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-06'
        }

        @{
            NodeName        = 'SRV-01-07'
            Fqdn            = 'SRV-01-07.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site2CAS'
            ServerNameInCsv = 'SRV-nn-07'
        }

        @{
            NodeName        = 'SRV-01-08'
            Fqdn            = 'SRV-01-08.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG01'
            CASId           = 'Site2CAS'
            ServerNameInCsv = 'SRV-nn-08'
        }
        #endregion

        #region DAG02 Nodes
        @{
            NodeName        = 'SRV-02-01'
            Fqdn            = 'SRV-02-01.contoso.com'
            Role            = 'FirstDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-01'           
        }

        @{
            NodeName        = 'SRV-02-02'
            Fqdn            = 'SRV-02-02.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-02'
        }

        @{
            NodeName        = 'SRV-02-03'
            Fqdn            = 'SRV-02-03.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-03'
        }

        @{
            NodeName        = 'SRV-02-04'
            Fqdn            = 'SRV-02-04.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-04'
        }

        @{
            NodeName        = 'SRV-02-05'
            Fqdn            = 'SRV-02-05.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-05'
        }

        @{
            NodeName        = 'SRV-02-06'
            Fqdn            = 'SRV-02-06.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site1CAS'
            ServerNameInCsv = 'SRV-nn-06'
        }

        @{
            NodeName        = 'SRV-02-07'
            Fqdn            = 'SRV-02-07.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site2CAS'
            ServerNameInCsv = 'SRV-nn-07'
        }

        @{
            NodeName        = 'SRV-02-08'
            Fqdn            = 'SRV-02-08.contoso.com'
            Role            = 'AdditionalDAGMember'
            DAGId           = 'DAG02'
            CASId           = 'Site2CAS'
            ServerNameInCsv = 'SRV-nn-08'
        }
        #endregion
        #endregion
    );

    #region DAG Settings
    DAG01 = @(
        @{
            DAGName                              = 'DAG01'           
            AutoDagTotalNumberOfServers          = 12
            AutoDagDatabaseCopiesPerVolume       = 4
            DatabaseAvailabilityGroupIPAddresses = '10.10.10.11','110.10.20.11'
            WitnessServer                        = 'SRV-fsw-01.contoso.com'
            DbNameReplacements                   = @{"nn" = "01"}
            Thumbprint                           = "98571B8FB9C9572F0F0D934440942709406B2122"
        }
    )

    DAG02 = @(
        @{
            DAGName                              = 'DAG02'           
            AutoDagTotalNumberOfServers          = 12
            AutoDagDatabaseCopiesPerVolume       = 4
            DatabaseAvailabilityGroupIPAddresses = '10.10.10.12','10.10.20.12'
            WitnessServer                        = 'SRV-fsw-01.contoso.com'
            DbNameReplacements                   = @{"nn" = "02"}
            Thumbprint                           = "691CFA7934AD972FADC2EF4F04E9883E48BC75E3"
        }
    )
    #endregion

    #region CAS Settings
    #Settings that will apply to all CAS
    AllCAS = @(
        @{
            ExternalNamespace = 'mail.contoso.com'
        }
    )

    #Settings that will apply only to Quincy CAS
    Site1CAS = @(
        @{
            InternalNamespace          = 'mail-site1.contoso.com'
            AutoDiscoverSiteScope      = 'Site1','Site3','Site5'
            InstantMessagingServerName = 'lync-site1.contoso.com'
            DefaultOAB                 = "Default Offline Address Book (Site1)"
        }
    );

    #Settings that will apply only to Phoenix CAS
    Site2CAS = @(
        @{
            InternalNamespace          = 'mail-site2.contoso.com'
            AutoDiscoverSiteScope      = 'Site2','Site4','Site6'
            InstantMessagingServerName = 'lync-site2.contoso.com'
            DefaultOAB                 = "Default Offline Address Book (Site2)"
        }
    );
    #endregion
}