In the sixth part of our Exchange lab series we:
In the final part of our Exchange lab series we:
- Move test users via the Exchange Admin Center
- Move test users via PowerShell
- Outlook on the Web (formerly Outlook Web App)
Let’s get started!
Move test users via the Exchange Admin Center
Now that we have our database situated let’s move some users.
Log in to the Exchange Admin Center and select Migration from the Recipients tab.
Select the New () button then Move to a different database.
On the New Local Move Request dialog we can either select the user we want to move from a directory lookup or, we can import those users from a CSV file. For this example, we will just pick a couple of users from the directory. In this case, pick Select the users that you want to move and click the Add () button.
On the Select a Mailbox dialog, pick the mailboxes you wish to move. Then click Add. To remove a mailbox click the [remove] link to the right of its name. Once you have all the desired mailboxes click OK.
In our example, we will just be moving two users but you can select as many as you like.
Click Next.
On the Move Configuration screen, give your migration batch a descriptive name. This will help you identify it later. On this screen, you can also identify whether you want to move just the primary mailbox, just the archive mailbox, or, both. In our case, we will keep everything together and select Move the primary mailbox and the archive mailbox if one exists. As you can see from the description this option is fine even if your users do not have an archive.
You can also specify a target primary mailbox database and target archive database by clicking the respective Browse button. In our lab, this will only yield one resulting database so selecting this is redundant. If you had multiple databases and left these fields blank Exchange would do its best to balance the mailboxes evenly between the databases.
Bad item limit determines how many corrupted items you are willing to accept during the move. The default is 10. I often set this as high as 100.
Click Next.
On the Start the batch screen, click the Browse button to select which recipients will receive a report via email when the batch is complete.
You can also set whether to Automatically start the batch right away, or, Manually start the batch later. The latter is useful if you don’t want to start moving as soon as you complete the wizard.
You can also choose to Automatically complete the migration batch which will cut the user over to the new server as soon as their data copy completes. Otherwise, if you select Manually Complete the batch the migration performs the initial seed of the mailbox but keeps the user checking in to the old server until you choose to finalize the move.
In our lab, we will set these both to automatic.
When ready click New.
From the migration tab, you can monitor the progress. You can also stop and delete a move. For more details click the View Details link under Mailbox Status. The View Details dialog allows you to download a migration report for each user. This report is especially useful for troubleshooting purposes.
When the move is finalized the status column will show as Complete.
Move test users via PowerShell
If you prefer to move users with PowerShell we utilize the New-MoveRequest cmdlet. For example, to move a single user we could simply type the following:
C:\> New-MoveRequest -Identity "Rory Williams"
In this command user, Rory Williams is moved to a database on Exchange 2016. Without the target database parameter set Exchange will balance the mailbox between any available 2016 databases in the environment, irrespective of where the command was actually run. That said, Rory could be balanced to a database on an entirely different 2016 server. If you need a little more control over the destination then you can use the -TargetDatabase parameter. For example:
C:\> New-MoveRequest -Identity "Rory Williams" -TargetDatabase "Doctors Companions"
If the request is accepted we will receive the below response.
C:\> New-MoveRequest -Identity "Rory Williams" -TargetDatabase "Doctors Companions" DisplayName StatusDetail TotalMailboxSize TotalArchiveSize PercentComplete ----------- ------------ ---------------- ---------------- --------------- Rory Williams Queued 119.5 KB (122,360 bytes) 0
To check the status of the move we could just run Get-MoveRequest.
C:\> Get-MoveRequest DisplayName Status TargetDatabase ----------- ------ -------------- Rory Williams InProgress Doctors Companions Rose Tyler InProgress Doctors Companions
I prefer a little more detail. You can get this by piping Get-MoveRequest to Get-MoveRequestStatistics.
C:\> Get-MoveRequest | Get-MoveRequestStatistics DisplayName StatusDetail TotalMailboxSize TotalArchiveSize PercentComplete ----------- ------------ ---------------- ---------------- --------------- Rory Williams InitialSeeding 119.5 KB (122,360 bytes) 0 Rose Tyler InitialSeeding 41.18 KB (42,165 bytes) 0
To get a detailed report we would add the -IncludeReport parameter. This is great for troubleshooting a move request, or, to see what is going on under the hood. The output of this parameter can be quite lengthy so I will skip posting that here. But, definitely check it out.
C:\> Get-MoveRequest "Clara Oswald" | Get-MoveRequestStatistics -IncludeReport | fl
Note: There is a lot more to the New-MoveRequest command than we give credit. You can certainly get creative when piping it with other commands. We’ll be sure to cover New-MoveRequest in greater detail in a future article. For more information on New-MoveRequest check out this article from Microsoft.
Outlook on the Web (formerly Outlook Web App)
If you are an Office 365 user then the new Outlook on the Web might have a striking resemblance to what you have seen in the cloud. Using one of your migrated users let’s log into Outlook on the Web and take a quick peek at what has changed.
Note: This is a really good time to test mail flow between the users you just moved to Exchange 2016 and the legacy servers in your lab.
The URL is still the same. In our case, we point our browser to https://webmail.exchangeservergeek.com/owa. We will log in as Clara Oswald.
As you can see the interface looks much more feature-rich. Let’s take a closer look.
It looks like Clara received an email from Martha. Martha is still on Exchange 2013. Martha posted a link to a YouTube video in her email. To Martha, all she saw was the link. But Clara gets a rich snippet of the video. Not only does it pull the title and description from YouTube, but it also pulls a thumbnail. Rich snippets work on any web content, whether it be a blog post, or, a product page from a retail site.
When Clara clicks on the video it launches right from within Outlook on the Web instead of navigating her away and interrupting her workflow.
Clara hits the inline reply button and sends a promotional poster back to Martha. The responsive design of Outlook on the Web means the image will look great on any screen size. This eliminates any unnecessary scrolling. If Clara increases the size of her browser window the image stretches until it reaches its original size.
With side by side view, you can review a document while you collaborate in an email. In this screenshot, Amy and Clara are reviewing a t-shirt design.
Navigation in Outlook has also shifted from the top-right to the top left of the screen. You will recognize this navigation style from Office 365 and Outlook.com. This bar will populate as you add more apps to your on-premises solution.
The options screen has been massively redesigned. Should you prefer the old options click OTHER at the bottom left.
Outlook on the Web is a massive improvement over its predecessors. The interface is faster, more responsive and, more feature-rich. Outlook on the Web could entice a subset of users towards the web client eliminating the need for a costly Office desktop license.
Note: We barely scratched the surface of Outlook on the Web. We will be sure to cover it in greater detail in future articles.
Where do we go from here?
That is it for this series. You have accomplished a great deal. Congratulations!
But, this is only the beginning. There is still plenty more to discover. More buttons to press. More commands to run. Stick with us and let’s explore Exchange 2016 together.
Be sure to check out our other Exchange 2016 articles.
- What Ignite taught us about Exchange 2016
- Create an IP-less DAG (No Administrative Access Point)
- Exchange 2016 public preview released
Join the conversation on Twitter @SuperTekBoy.
David Apimerika says
Great tutorial thanks. I know this is six years late 🙂 Looking to migrate a couple of Exchange 2010 customers to Exchange 2016 (baby steps!) and pretty nervous of the process. This tutorial has given me a little more confidence.
jeff says
Where is the section for configuring send connector?
hhseiki says
Hello. Thank you for the clear step by step series. I’m new to exchange and I’ve done it and worked properly for about a month. Since yesterday, I’m suffering from a problem. I can log in to any user email from outlook or owa and can see the old emails, all contact,… but new emails aren’t received by others.
When sending from outlook, the email is saved in SENT folder whereas when sending it from OWA it is kept in DRAFTS. And in both cases, the email isn’t sent. Please can you give me any suggestions?
Gareth Gudger says
Hey hhseiki,
I would check the Transport Services. Go to your Services MMC and see if any of the Exchange Transport services are stopped.
I would then review the Application Logs in Event Viewer on the Exchange Server. You may be experiencing back pressure and the Event Logs would identify this. Back pressure will kick in when there is a lack of resources and stop the transport of email messages.
There are other things to check as well. But I would investigate these two areas first.
I assume this is a single server environment–just one Exchange server?
BW says
Hi Gareth
Do you know if you can configure an Edge server in a DMZ to use an SMTP smart host on the internet? Is this possible? I have a dynamic IP so some of my emails that are sent are being marked as spam (due to the dynamic IP). I wany to keep my Edge server so can I configure it to use an SMTP smart host on the internet?
Gareth Gudger says
Hey BW,
Yes. See if this link helps.
https://technet.microsoft.com/en-us/library/dn606261(v=exchg.150).aspx
Bob says
I have just acquired an IPv6 range so I configured a static IPv6 on my Edge and Mailbox Exchange 2016 servers (along with the necessary DNS/rDNS) but it still keeps using IPv4 for email delivery. If I telnet to the IPv4 address on port 25 on the Edge server it works but if I do the same to the IPv6 address it times out. Is there something I need to do to enable port 25 to listen on the new static IPv6 address? I know its not the Windows firewall as I tried turning it off and it dodn’t help.
Gareth Gudger says
Hey Bob,
By default I don’t believe the Edge’s Default Internet Receive Connector is configured for IPv6. You will need to edit the properties of the Default Internet Receive Connector on the Edge server and modify the scoping to include IPv6.
Add ::-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff under the Remote IP range section.
Add ‘All available IPv6 addresses’ under the Network Adapter Bindings section.
I would recommend testing in a lab first as this isn’t something I have had to tackle yet. But let me know the outcome. You may also want to post this on the TechNet forums for clarification.
Bob says
Thanks Gareth. You are correct the default is to only use IPv4. I had to bind IPv6 to port 25 and then allow the remote IPv6 range that you mentioned.
Incoming email is working great to my email server and uses IPv6 all the time. Outgoing email to Gmail however very rarely uses IPv6 which has me baffled. I reckon only 10% of the time is IPv6 used when sending email TO Gmail. Any ideas?
Bob says
Is it possible to configure the Edge send connector to prefer sending email out using IPv6 instead of IPv4?
BW says
Will you be doing any tutorials/guides on the Edge server for Exchange 2016?
Gareth Gudger says
I don’t have anything planned but I will add it to the list. The Edge role did see any changes in 2016 so, any article you find for 2013 Edge is still valid for 2016. Let me know if you’d like to see any other articles as well.
BW says
That would be great if you did and Edge article! There don’t seem to be too many articles on the internet about installing Edge AND configuring the antispam agents.
BW says
FYI: I installed CU1 this afternoon for Exchange 2016 and it royally broke my Edge and Mailbox server! I ended uprolling back to last nights backups.
Is there a specific order you need to install CU1 on Exchange 2016 servers?
Gareth Gudger says
Hey BW. Great question. You want to upgrade your Mailbox servers first. Then the Edge servers last. Paul Cunningham has a nice write up on installing 2016 cumulative updates here. http://exchangeserverpro.com/installing-cumulative-updates-on-exchange-server-2016/
BW says
Thanks to your help I updated to CU1 successfully…thanks!
The one strange thing I have noticed is that when I am logged into the EAC and am looking at the servers my mailbox server shows the correct CU1 version (396.30) but my Edge server still shows 225.42. Is this a bug? I know CU1 is on the Edge server as if I look in Programs and Features it shows that CU1 is installed and that version 15.1.396.30 is installed!
Gareth Gudger says
Yep, unfortunately it is a one-way connection. To remedy this, you will need to remove and recreate the edge sync.
niwat says
Work
it work for webmail but fail when i try to use with MS outlook 2013 Please show your lab connect from client by MS outlook pop3,imap,smtp,activesync.
Thank you very much.
Gareth Gudger says
Hey Niwat. Glad Outlook Web App is working. That is a good sign.
Need a little more info on your setup. Did you purchase a third party cert or are you using a self signed cert? Is your Exchange lab published externally? Or just internally? If both, is your Outlook client external or internal to your lab network?
If your lab is externally accessible I would recommend running the Outlook Autodiscover and Outlook Connectivity tests from http://www.exrca.com.
If not you can still run the Autodiscover test from Outlook 2013. Hold CTRL and right-click on the Outlook icon in the system tray. It should bring up some extra options including “Test Email AutoConfiguration”.
If none of this works are you getting any security alerts or logon prompts in Outlook?
I would also go back over parts 4 and 5 of this series. Outlook connectivity problems are often DNS, URL, or, certificate related.
I kept POP, IMAP and SMTP out of this series because I rarely run into environment that even have these enabled any more. I typically recommend to keep these services disabled unless there is a clear business need. For example, a line of business application that doesn’t support SMTP relay. But I will definitely have a separate article on those services early next year.
Jon K says
Gareth – I am new to Exchange and running this in a lab. Do you cover what is needed in terms of sending and receiving mail from external? Additionally, I tried to migrate my (only) user and got in the details of the sync: Error: MigrationPermanentException: An error occurred while running New-MoveRequest -WhatIf -BatchName -BadItemLimit -Identity -IncrementalSyncInterval : Exception of type ’System.OutOfMemoryException’ was thrown. –> Exception of type ’System.OutOfMemoryException’ was thrown.
I followed everything exactly – any ideas? Thanks!
Gareth Gudger says
Hey Jon,
I was torn on whether to add external mail flow to the lab series. Seems like many don’t test that far. They just use internal mail for testing.
Should you need mail flow in your lab Exchange 2016 is configured out of the box to receive mail. All you would need is to configure an MX record with your external DNS provider to direct mail to your lab. You will also need to make sure port 25 is open on your firewall. Are you using a separate domain name for your lab or a child domain of your production environment? Need to make sure whatever MX record you create doesn’t interfere with production mail flow.
As far as Send, if this lab is an upgrade from a previous version of Exchange (which it sounds like it is) you just need to add the 2016 server to the existing Send Connector.
With regard to the error I have seen that one before. It pops up whether Exchange isn’t getting enough RAM. How much RAM did you allocate to Exchange? You can get away with 4GB, but you need to make sure your Hypervisor is actually allocating the full 4GB and that the Exchange VM isn’t in contention with other VMs for that RAM. Exchange doesn’t like it when it doesn’t have the RAM it was expecting. When it doubt go with 8GB.
Jon says
Thanks for the thorough reply Gareth!
I could change the domain name to get email working. Right now it’s using jonkensy.com – if I go back and change all of the URLs under virtual directories and the domain name portion to kensycloud.com that’ll work right? Then I need to change internal and external DNS and no problem?
My lab is on a residential line so Port 25 is blocked. Right now I have IIS installed on my Domain Controller and use that as a relay using Gmail SMTP – lame, I know.
As for the resources – I have allocated 4 vCPU and 8GB of RAM to this VM. It may have just been a fluke – I did a migration again and it worked.
Gareth Gudger says
Hey Jon,
You could leave all the URLs as they are. The URLs are purely for client access, not mail flow. To receive mail as kensycloud.com you would just need to set it as an Accepted Domain in Exchange. Then make sure you add that into your Email Address Policy (or manually by hand to each user). Then point that MX to your public IP.
With your ISP blocking port 25 that certainly adds some complexity to mail flow. So, is Google accepting the mail and transferring it to you over a different port number your ISP is not blocking? I know some ISPs offer a static IP as an upsell to residential customers that allows you to use port 25.
Glad the resource issue went away. You certainly have allocated what you need. If it went away and you didn’t change anything, my guess is that another VM in your lab was hogging resources and squishing Exchange. In that case see if you can give Exchange priority to the shared resources in your HyperVisor.
roberts2727 says
Gareth, The tutorial was amazing. This was the first Exchange Server I have planned out and set up and your guide made me look like a Pro in front of my peers. One problem I am running into Sir if I could pick your brain is none of my users have permission to send mail. I have checked every restriction I can find in exchange but when trying to send mail goes into draft status and after retrying I get the error “You dont have permission to perform this action.” Any suggestions?
roberts2727 says
Seems some of my services were not starting properly, once they resolved startup mail began flowing.
Gareth Gudger says
Great news! Glad you got it going. Thanks for the feedback on the series. Always appreciate any tweets/shares!