If you haven’t read it already, I did post a complete guide for installing Exchange 2013, it can be found here. That was part 1, now it’s time for part 2. Which of course is the configuration of the server setup.
We have lots of changes between how you configured Exchange 2007/2010 and 2013.
First thing is that Exchange Management Console is gone and replaced by a refreshed ECP called Exchange Admin Center (EAC), built on Silverlight (I suppose). The “old” Exchange Management Shell (EMS) is still there, so I suppose lots of us geeks will use more PowerShell in the near future.
The fact that EMC is replaced will make the administration easier and more portable, but I still like the EMC better. I will like the EAC better after used it for a while. This portable administration together with Remote PowerShell will be awesome.
I will use both methods for the configuration steps, both EAC and PowerShell.
The easiest way to find the URL path to the EAC is to start the Exchange Management Shell and run the command below:
Get-EcpVirtualDirectory | fl *url*
The picture below is my output from my lab environment
So let’s get things started..
Start up an Internet browser and go to the URL output from the command above
Let’s get the mail flow configured first so we can receive mails from external senders.
In EAC: on the left side (menu) press “Mail Flow”.
Ensure sure that your domains that should be used for SMTP is listed in here for making Exchange able to receive mails for these domains. More info about Accepted Domains can be found here.
In EAC: After selecting “Mail Flow” to the left, press “Accepted Domains” at the top menu in the middle.
If your domain is not listed and you need to add it, press the plus mark and fill in the information, like my example below.
Using PowerShell: Since I’m a geek I like to use PowerShell because it gives you the advantage of see what happens, have the full control and easily build scripts.
For listing and adding a domain like above in PowerShell you should write:
New-AcceptedDomain –Name testlabs.com –DomainName testlabs.com –DomainType Authoritative
Email Address Policies
These policies are used to stamp each user mailbox object with an email address/SMTP address.
These policies does not remove any addresses used previously, it just adds new addresses to mail objects.
In EAC: By default after the installation we only have one policy, called Default Policy.
I want to edit this one, by selecting the “Default Policy” and pressing the “pen” icon.
The Default Policy is showing up, in the left menu, press “Email Address Format”.
Since I live in Sweden and we have some special characters that I want to get rid of, I’m using the custom policy, Address type: SMTP and the Email address parameters:
%r means it replaces the character after, in this case åäö. Which it replaces with aao.
When you have done the change press the “Save” button at the bottom of the page.
Check so that the change is correct, then press the “Save” button.
After the changes have been saved, it needs to be applied. This is done by pressing the “Apply” text/button down in the right menu.
Using PowerShell: Let’s start with listing the Policy and the settings in it. As a final step let’s do the same configuration to the “Default Policy” that we did using EAC.
If you want to create more than just firstname.lastname@example.org to your policies, then this is done by comma separation. For setting the Primary SMTP address, use capital letters for SMTP, and for additional addresses use small letters for smtp. See the example below:
Get-EmailAddressPolicy | fl
Get-EmailAddressPolicy | Set-EmailAddressPolicy –EnabledEmailAddressTemplates “SMTP: %råa%räa%röo%g.%råa%räa%röoemail@example.com”,”smtp: %firstname.lastname@example.org”
Set-EmailAddressPolicy –identity “Default Policy” –EnabledEmailAddressTemplates “SMTP: %råa%räa%röo%g.%råa%räa%röoemail@example.com”,”smtp: %firstname.lastname@example.org”
Get-EmailAddressPolicy | Update-EmailAddressPolicy
It can easily be checked if the policy has been applied, it will show a True or False value. For checking the value run the command below:
Get-EmailAddressPolicy | fl *appl*
Note: Don’t forget to update the Policy, or else the new addresses won’t be pushed out to the recipients.
Since the HUB Transport server role now is gone and the HUB role is placed together with the CAS role, this is the server you should be looking at.
After the SMTP domains have been added into the Accepted Domain tab, some settings could be of value to have a look at before starting to use the servers.
A change has been made to the new version, the default connector now named “Default Frontend servername”. It now allows traffic from Anonymous users by default. I suppose this is due to that the Edge Transport Role also is removed.
In EAC: Go to the “Receive Connectors”, found under “Mail Flow”. Make sure to select your CAS server(s) and the “Default Frontend servername”. Then press the “pen” icon for Edit the selected connector.
The only thing I did change was the “Maximum receive message size” to 30 MB.
When you have done your changes for the connector, press the Save button.
Using PowerShell: Start the Exchange Management Shell, lets view the receive connectors and then make the changes like above.
Get-ReceiveConnector | fl
Set-ReceiveConnector –Identity “TLCAS01\Default Frontend TLCAS01” –MaxMessageSize 30MB
Note: The size can be configured between 64KB up to 2GB.
Verify that the settings was correctly set, using the command below
Get-ReceiveConnector | fl ide*,maxmes*
When the HUB server role now is gone and after the default installation of Exchange we don’t have any send connectors. So… for being able to send out mails to external recipients, let’s create a Send Connector on the CAS server.
In EAC: Go to the “Send Connectors”, found under “Mail Flow”. Press the “plus” icon for Creating a new send connector.
Give the send connector a friendly name and select what type it should be. Since this one I’m creating now is for sending to external recipients I’m selecting “Internet”. (Seems like we have a typo, see picture below). Press Next.
Select how to route those mails, either by using MX records or through a smart host(s). If you have a mail gateway then you should select smart host and type in it’s IP address. My server is just sending them directly to Internet so I’m using the MX method. Then press Next.
Press the “plus” icon for adding the address space this connector should use. In my case it will be “*”. Then it takes care of all domains. Press Save.
Then Press Next for accepting the settings you’ve just made.
Next screen will show you which source servers that should be used. Let’s add these into the connector by pressing the “plus” icon and selecting the Mailbox servers.
Press Finish button so the connector get’s created.
Note: By default the connector has a maximum message size of 10MB. You can’t configure the maximum send message size when creating the connector, but this can be done by editing the created connector.
Using PowerShell: Start the Exchange Management Shell, lets view the send connectors and then make the changes like above.
This creates a new send connector using the DNS/MX method
New-SendConnector –Name “Outbound” –AddressSpaces ‘*’ –SourceTransportServers TLMB01 –MaxMessageSize 30MB
This creates a new send connector using the smarthost method
New-SendConnector –Name “Outbound” –AddressSpaces ‘*’ –SourceTransportServers TLMB01 –MaxMessageSize 30MB –DNSRoutingEnabled:$false –SmartHosts “10.10.10.10”
This creates a new send connector using the smarthost method together with using the CAS server as a proxy server for sending the mails
New-SendConnector –Name “Outbound” –AddressSpaces ‘*’ –SourceTransportServers TLMB01 –MaxMessageSize 30MB –DNSRoutingEnabled:$false –SmartHosts “10.10.10.10” –FrontEndProxyEnabled:$True
Note: The size can be configured between 0 Bytes up to 2TB.
Verify that the settings was correctly set, using the command below
Get-SendConnector| fl ide*,maxmes*
As most of you already know we need to request and import a certificate for Exchange. This for having a fully working OWA, ActiveSync etc. certificates needs to be configured so let’s get started.
In EAC: Go to the “Certificates”, found under “Servers”. Select the server and press the “plus” icon for Creating a new certificate request.
I’m using an Internal PKI solution, so in this case I want to “Create a request for a certificate from a certificate authority”. Press Next.
Type in a friendly name for the certificate. Press Next.
If you want to create the request for a wildcard certificate, this is the checkbox you should use.
I don’t want a wildcard certificate, so I just let it be unchecked. Press Next.
Press Browse and select which server you want to store it on. Press Next.
For each service you can here type in the address, and the request will generate the names in the end. When you’re done press Next.
Go through the names in the list and make sure that all names that’s needed are included. Press Next.
Fill in Organization name, Department, Country, City and State. Press Next.
In my example I did type in the path to a share on my domain controller, which also is my Internal CA. Press Finish.
When the request is completed, it shows up with the friendly name, together with the status “Pending request”. When the certificate is issued, press the “Complete” button below the status.
Type in the URL path to the .cer file, my file is saved on my DC. Press OK.
It’s now time for assigning the services to the certificates. This is done by selecting the certificate and press the Edit button.
Go to “Services” and add the one’s that should be used. Press Save.
Check so that the services is assigned to the certificate.
Using PowerShell: Start the Exchange Management Shell, lets view the existing certificates and then make a new cert request like above. Finally import the issued certificate.
Get-ExchangeCertificate | fl
This creates a new certificate request and saves it to a share
New-ExchangeCertificate –Server TLCAS01 –GenerateRequest –FriendlyName Exchange2013-PS –PrivateKeyExportable $true –SubjectName “c=SE, s=Skane, l=Malmo, o=Testlabs, ou=Testlabs, cn=mail.testlabs.se” –DomainName mail.testlabs.se,autodiscover.testlabs.se –RequestFile “\\tldc01\certificates\test.req”
Import-ExchangeCertificate –Server TLCAS01 –FileName “\\tldc01\certificates\certnew-ps.cer” –PrivateKeyExportable $true –FriendlyName Exchange2013-PS
Enable-ExchangeCertificate –Thumbprint A2E6649A22A99BEAB2654BEB403C92BB9D34B404 –Services “IIS, SMTP, POP, IMAP” –Server TLCAS01
Note: Make sure to specify –Server, or else you can have difficulties finding our created request. Mine landed at my Mailbox server even if I did it on the CAS server.
If you haven’t read it already, have a look at Part 1: Complete guide of how to perform the installation
Thanks for reading, I hope that it’s informative and great reading for most of you. It would be awesome if you guys leave some comments, what do you think about Exchange 2013? Maybe you have already installed the Preview/Beta? Which new feature is the best one?
Next part will cover Databases, Outlook Anywhere, Outlook 2013 and MAPI/RPC etc.