Mailbox Move In Exchange 2010…

MS Exchange

As I was playing with the Exchange 2010 Console, the “Move Request” section under Recipient Configuration caught my attention. But, there was no option other than to export the list. So, I decided to run a mailbox move and see what happens. Two types of mailbox move is supported in 2010.

  • Local Move – Moving a mailbox from one database to another on the same or different server, as long as the servers are in the same exchange organization.
  • Remote Move – Moving a mailbox to a database in a different forest.

More Info Added:

Mailbox move in 2010 is asynchronous and hence users can still access data while the mailbox gets moved. The actual move is performed by a new service in 2010 named “Exchange Mailbox Replication” service. This service runs on a CAS server and that indicates that the CAS servers are responsible for the mailbox moves.

The mailbox’s dumpster IS moved, as long as both source and destination servers are 2010. The mailbox move history is maintained in the mailbox.

Mailbox move from Exchange 2000 and 2007 SP1 to 2010 is not supported.

In order to move a mailbox from one database to another within the same organization, launch EMC and navigate to Recipient Configuration -> Mailboxes. Right click the mailbox in question and select “New Local Move Request”.


Select the target database for the mailbox.


Select your move option – whether to skip the mailbox move if corrupted messages are found or to skip a few corrupted messages & go ahead.


A summary of the mailboxes that are moved is displayed. Click New to continue.


The wizard checks and initiates the mailbox move by submitting a mailbox move request. Take a close look at the cmdlet & you will find out that the cmdlet run is New-MoveRequest and not Move-Mailbox. Click Finish to complete your mailbox move request.


Exchange hasn’t finished moving the mailboxes, but has only received a request to move. In order to find out the status of the mailbox move, we need to go to the “Move Request” section. The list of mailboxes getting moved along with the status is displayed. You can use Get-MoveRequest cmdlet to get the status of the mailbox move if you prefer to use the shell.


You can double click on any mailbox to get more information.


In short, mailbox move process has been slightly changed in Exchange 2010. The admin submits a move request to the server and the actual move is run in the background & hence it would appear that the mailbox move wizards have completed pretty quickly even for large mailboxes. The reason being the process runs in the background, whereas in Exchange 2007 the wizard actually runs through the entire process & once you finish the wizard, all the mailboxes will be in the target database.

To move a mailbox using the shell, run the command

New-MoveRequest –identity username –TargetDatabase “database name”

Once the mailbox move is initialized, you can check the status by running

Get-MoveRequest –identity username

Other Popular Articles

MS Exchange

Scripting Agent Initialization Failed: “File is not found” Error During Exchange 2016 Setup

MS Exchange

EAC Access While Co-Existing Exchange 2013 With 2010

MS Exchange

Delete All Calendar Entries In An Exchange 2010 Mailbox

  1. I am getting below error for one user while migrating different database on the same server.

    Error: Couldn’t switch the mailbox into Sync Source mode.
    This could be because of one of the following reasons:
    Another administrator is currently moving the mailbox.
    The mailbox is locked.
    The Microsoft Exchange Mailbox Replication service (MRS) doesn’t have the correct permissions.
    Network errors are preventing MRS from cleanly closing its session with the Mailbox server. If this is the case, MRS may continue to encounter this error for up to 2 hours – this duration is controlled by the TCP KeepAlive settings on the Mailbox server.

  2. hello,

    when moving mailbox from Exchange 2003 to 2010 movement stuck at 95%, result as given below.

    Messages have been enumerated successfully. 0 items loaded. Total size: 0 B (0 bytes).
    Initial seeding completed, 0 items copied, total
    size 0 B (0 bytes).
    Final sync has started.
    Stage: FinalIncrementalSync. Percent complete: 95.
    Waiting for mailbox changes to replicate.

  3. Hi,

    If we dint mention any database name in the New-MoveRequest cmdlet which database will be taken by Default. for example my powershell script is like below…

    $MailboxArray = Get-Mailbox -OrganizationalUnit “OU=$TenantID,$BaseADPath” -DomainController $PreferredDC

    foreach ($mailbox in $MailboxArray)
    Write-Host “Moving Mailbox $mailbox” -foregroundcolor cyan

    $mailbox | New-MoveRequest -Confirm:$false -DomainController $PreferredDC

    If you see the above New-MoveRequest cmdlet, I dint mention any database name so by default which database will be taken. please let me know as soon as possible.
    Please send me a mail @


    • Hi Bhalotia,

      The move requests are handled by the CAS servers (MRS) and the CAS will automatically load balance the mailboxes among the databases you have.

  4. Thanks for detail information about Movemailbox and Moverequest you put up on here. I just want to add that if users select “skip a few corrupted messages” option, they might have to face the data loss problem. So, I would suggest to keep a backup copy before running these command line parameters.

    The data loss issues can be resolved by using a third party tool. There are a lot of third party application available in the market which help to move unlimited users mailboxes at a time. One of the best aspects of these tools is that they can repair the corrupted data if they found during the analyzing process. One such tool that I know is Stellar Phoenix Exchange recovery software :

    Kay Adams

  5. Hi Rajith,

    The move is on the same server (exchange 2010)
    I created an second database and moved a couple of mailboxes from one to another. I noticed this because the size of the old database wasnt shrinking after moving the database.

  6. Hi Emiel,

    If you are using Exchange 2010 SP1:

    Instead of removing the source mailbox immediately following a successfully completed
    move, Exchange puts the source mailbox into a "SoftDeleted" state. This means that
    the source mailbox is kept until the deleted
    mailbox retention period expires for the source database.


  7. I was recently moving mailboxes to another database. The move went ok but i noticed that the old database didnt get any smaller.

    As i investigated i noticed that the mailbox i moved stays in the old database. Do you know how i can delete the mailbox out of the old database?


  8. Anyone know why exactly you need SP2 for 2007? I have a dying production server and the reboots required after the installation of the new service pack is way more frightening right now than anything else ;(

  9. This whole "cmdlet-only" procedure s***s bigtime. We are sysadmins, not coders! Wake up MSFT!!!
    I've spent at least 1 hour finding the correct line for moving one exchange 2010 mailbox to 2007. Every time the error message said something that worth "nothing".
    What a piece of crap.

  10. Ok got it sorted thanks,
    This Blog Linked From Here
    This Blog
    Linked From Here
    Thursday, 3 September 2009
    Can’t Connect Outlook 2003 To Exchange 2010. Unable To Open Your Default E-mail Folders…

    I was trying to connect to my Exchange 2010 RC Server with Outlook 2003, but couldn’t connect successfully. I tried with Outlook 2007 & 2010 and was able to connect successfully. That made me search whether Outlook 2003 is a supported client and it is. The error message is “Unable to open your default e-mail folders”

    After playing around for a while, I found the solution. Before I jump in to the fix, let me explain a few changes in Exchange 2010 in terms of MAPI connectivity.

    •All MAPI clients connecting to Exchange 2010 server connects to the mailbox through the CAS Server.
    •A new service named Exchange RPC Client Access is introduced in 2010 CAS which handles all MAPI connections.
    •All MAPI clients connect to the mailbox server directly in Exchange 2007.
    Now that we know about the new RPC Client Service running on the 2010 CAS Server, lets bring up the full info by running Get-RpcClientAccess | fl

    We can see that this service needs rpc encryption and it is set to True by default.

    Same is the case with Outlook 2007 & 2010 profiles! Encryption between Outlook and Exchange is enabled by default, which explains why these clients can connect to Exchange 2010 without any issues.

    Outlook 2003 profiles don’t enable encryption by default.

    Once I checked the box, I could connect to my 2010 mailbox.

    You can also disable the requirement of 2010 CAS servers to have encryption enabled by running Set-RpcClientAccess –identity servername –EncryptionRequired $false. This is not recommended though!

  11. I have moved most of the mailboxes no problem however one or two will not open in Outlook after the move from 2003 to 2010, they are accessible in owa however. I have tried recreating the profile and turning off cached mode etc to no avail. Any advise as I have to move these to the new server. Thanks,

  12. Hi Ram,

    The number of databases you need is really upto you. You can have it in the same fashion as 2007 or a different design. You can pick users depending on number of criteria like OU, database, server etc. Get the users using one of those and provide a target database.

    eg, Get-Mailbox -database "dbname" | New-MoveRequest -TargetDatabase "dbname"

  13. Great tutorial. Thanks for sharing. That said, in order to move a mailbox from Exchange 2k7 SP2 to Exchange 2010, how to go about creating the target database? Let say I have 10 storage groups in my 2007 Exchange. Do I create 10 new database in 2010 or do I simply submit a new MoveRequest specifying the name of the new database and the install process will take care of the rest? I'm not clear about that so any clarification will be appreciated.

  14. To move a mailbox from 2010 back to 2003 you need to find the DN of the 2003 mailbox database. You can do it like this:

    $temp = get-mailbox
    $dn = $temp.database.distinguishedname

    Then move your mailbox like this:

    new-moverequest -targetdatabase $dn

  15. Same here when moving back mailbox from 2010 to 2003: I'm unable to specify targetdatabase :( I was able to find syntax for targetdatabase in this command:

    Get-MailboxStatistics -identity testusr -includemovereport | format-list

    but I'm still receving error for new-moverequest that mailbox database does not exist

  16. Create a move request that suspends before completion

    This example creates a move request that is suspended after all the initial content is moved, but before the mailbox is locked down and switched over to the new location.

    New-MoveRequest -Identity '' -TargetDatabase DB01 -SuspendWhenReadyToComplete

    This command could be useful if we wanted all the mailboxes in one location to move to destination at the same time or prepare the destination and keep it ready for switch over with very little to copy over.

    I don't think this will work for Exchagne 2003 mailboxes since they are taken offline while moving, not sure if they become online when move is suspended.

  17. Deepak, I have added more info in the article. You can run a move request with -suspend parameter and later on resume it when you want to. But, as mailbox moves are asynchronous & online, you can move it anytime you want, as long as the server can handle it.

    New-MoveRequest rajith -TargetDatabase "Second Database" -suspend

    Get-MoveRequest rajith | Resume-MoveRequest.

    A quick look at the cmdlet doesn bring any date/time scheduling option. I will update the blog if I come across one.

  18. Intresting.. So can we schedule the move as we could do we Move-Cmdlet in Exch 2007. Does not seems to have any scheduling in new-MoveRequest. There a switch for suspend in New-MoveRequest but no way to specify time or date. There is Resume-Moverequest commandlet to resume the move. So we may have to resume using windows scheduler or something.

    Rajith- Do Powershell have any command to do schdeduling if so then we could pipe resume-MoveRequest command to it and get a combine funtion.

    Good stuff keep it up


Leave a Comment

Disable Windows Copilot Using Intune

Windows Copilot is Microsoft’s take on making life easier for Windows users using the power of AI. This article explains how to disable the feature using Intune, if your organization is not ready yet to walk into the AI world.

Disable Windows Copilot Using Intune

We need to create a Configuration Profile for Windows devices in the Intune portal to disable Windows Copilot. Below are the steps that we need to create the profile.

Launch the Intune Portal and login as a Global Admin or Intune Admin.

Navigate to Devices -> Windows -> Configuration Profiles.

Windows Configuration Profile Intune

Click on Create -> New Policy.

Select Windows 10 & later as the platform and Settings Catalog as the profile type & click on the Create button.

Settings Catalog Intune CoPilot

Give the policy a meaningful name & description and click Next.

Policy Name Disable CoPilot

Within the configuration settings, click on the Add Settings option.

Add Settings Disable CoPilot

Search for ‘copilot’, Windows AI will come up as the category. Click on Windows AI and the Turn off Copilot in Windows (User) setting will come up. Check the box and click Next.

Turn off CoPilot Setting Intune
Turn off CoPilot Setting Intune Summary 1

Specify scope tags if required and click Next.

Select tags CoPilot Intune

Select who this policy should apply to in the Assignments section. I have selected to add all users. If you want to test the setting, you can create a test group and select that group here.

Similarly, you can also exclude certain group from disabling AI (say IT team) if required.

Add all users disable copilot intune

A summary of selected settings will be displayed. Click on the Create button to setup the policy to disable Windows Copilot.

Create configuration policy disable CoPilot Intune 1

Wait for the replication to complete in the cloud backend and login to your machine. Your chatty Copilot should now be disabled.

Disable Windows Copilot On Windows 11 Pro

Follow the steps below to disable Copilot on a personal Windows 11 Pro machine (say your own laptop).

Search for ‘group’ in Windows 11 and click on Edit Group Policy option.

Group Policy Windows 11 Disable Copilot

Navigate to User Configuration -> Administrative Templates -> Windows Components -> Windows Copilot.

Windows Copilot GPO setting

Double click on Turn off Windows Copilot setting on the right pane.

Select Enabled and click OK.

Turn off copilot gpo Windows 11 Pro 1

Close the Group Policy Editor. This will disable Windows Copilot on a Windows 11 Pro machine.


We have learned to disable Windows Copilot using Intune and Group Policy on Windows 11 machines.

Please let me know if you have any questions in the comments section.

Promote Windows Server 2025 To Domain Controller

Domain controllers are the backbone of any Active Directory domains in the Microsoft world. Any Windows server can be promoted to be a domain controller. In this article, we will go through the steps of promoting a Windows 2025 Server to be a domain controller.

Windows Server 2025

The latest version of the server operating system has been named Windows Server 2025. You can start with a 2025 Server & create an AD domain or you can promote a member server that is already a part of a domain.

The Windows Server 2025 needs to be installed on a machine before it can be promoted to be a domain controller.

Promote Windows Server 2025 To Domain Controller

If you have been working with Windows servers long enough, everything starts with the Server Manager app. Promoting a server to a domain controller is no different.

Launch ‘Server Manager’ & click on Add roles and features.

Windows 2025 Server Manager

You land on the summary page that explains what is required to run this wizard successfully. Click Next.

Windows Server 2025 Add Remove Roles

Select Role-based or Feature-based installation and click Next.

Windows Server 2025 Role Based Install

Select the server that needs to be promoted and click Next.

Windows Server 2025 Destination Server

Select Active Directory Domain Services (second option) and click on Add Features.

Windows Server 2025 AD Domain Services

Go with the default options for features that need to be installed.

Windows Server 2025 AD Domain Services Features

A summary of AD DS pops up next, click next to continue.

Windows Server 2025 AD DS

Select Restart the server automatically if required and click Install.

Windows Server 2025 AD Restart Server

You get to keep an eye on the progress of the installation.

Windows Server 2025 AD Install Progress

Once the role has been installed, you will find an exclamation mark on the top right corner of the Server Manager. Click on that and select Promote this server to be a domain controller.

Windows Server 2025 AD Install Continue

You get an error straight away (which you have never seen before) – Error determining whether the target server is already a domain controller. Role change is in progress or this computer needs a restart.

Windows Server 2025 Domain Controller Setup Error

We never needed to restart the server after installing the role in the DC promotion process. Given that it is an insider build of Server 2025, I am hoping that this will get fixed before the public release.

Restart the server, launch Server Manager and click on the Promote this server to be a domain controller option again.

Windows Server 2025 AD Install Continue 1

I am setting up a brand new AD forest and hence I select the third option (Add a new forest) and enter my root domain name.

Windows Server 2025 Add a forest

Next window brings the option to set your forest & domain functional level and the DSRM password. In the insider build, it shows what looks like a variable (the Windows server version on which the you are working).

Windows Server 2025 Forest Functional Level

You can leave the default options in the DNS options wizard and click next.

Windows Server 2025 DNS Options

Enter the netbios name of the domain in the next window and click next.

Windows Server 2025 Netbios Domain Name

You can stick with the default paths for the AD database, log & sysvol folder or pick a location of your choice.

Windows Server 2025 AD Paths

Review the selections that you have made so far and click next.

Windows Server 2025 Options Review

Wait for the green check mark on the prerequisites page and click next.

Windows Server 2025 Pre reqs Check

Click Install in the final window & wait for the magic to happen. Once the machine gets restarted (which it will do automatically), you will have a brand new domain controller based on Windows Server 2025.

Windows Server 2025 AD Snap In


Promoting a Server 2025 to a domain controller follows pretty much the same steps as previous operating systems. The Insider build has few errors that needs to be fixed, but hey, it is an insider build!

Please let me know if you have any questions in the comments section.

Install Windows Server 2025 – Full Guide

Microsoft has released an insider preview of it’s next server operating system named Windows Server 2025. We will have a look at the installation steps involved in setting up a 2025 server.

Windows Server 2025

Microsoft has gone with the same look and feel of Windows 11 operating system in it’s current server operating system – Windows Server 2025. As the product is in insider preview, there might be slight changes before it hits the public shelves.

It is refreshing to see a ‘modern’ feel in the installation process of a server operating system. Gone are the days where the installation of a consumer based OS felt much better compared to it’s server counterpart.

Installing Windows Server 2025

Let’s take a look at the steps involved in setting up a Windows Server 2025 machine. First step is to download the ISO from the Windows Insider portal.

Next step is to boot the virtual / physical machine from the ISO which will kick off the installation of Server 2025.

First option to select is the language settings. Pick the one based which relates to you and click next.

Windows Server 2025 language settings

Select the keyboard settings in the next screen and click next.

Windows Server 2025 keyboard

You get the option to select whether you want to Install Windows Server or Repair the installation. The bottom left corner also has the option to go to the previous version of setup.

Windows Server 2025 setup option

You are asked to enter the product key, which is available in the Windows Insider portal.

Windows Server 2025 product key

Next option to choose is the type of image you want to install – Windows 2025 core or full blown desktop experience.

Windows Server 2025 Desktop

You need to agree to the licensing terms to move forward in the next step.

Windows Server 2025 Agreement License

Select the partition on which the server OS should be installed and click next. You also have the option to slice the partitions the way you see fit in the same screen.

Windows Server 2025 Disk Partitions

The Ready to Install window comes up, click the install button.

Windows Server 2025 Install 1

Installation of Server 2025 is underway and you get to see the progress.

Windows Server 2025 Install Progress

Once the installation is complete, you need to enter an administrator password of your choice to finalize the setup.

Windows Server 2025 Password

And there you go! You see a Windows 11 login screen staring at you ;-)

Windows Server 2025 Login Screen

After logging in, you get to set the options around sending diagnostic data to Microsoft, which I always set as ‘required only’.

Windows Server 2025 Diagnostic Data

The Windows Server 2025 desktop looks similar, doesn’t it? ;-)

Windows Server 2025 Desktop Feel scaled

Now that the server is up and running, you can promote it to be a domain controller.


The Windows Server 2025 has the same look and feel as a Windows 11 operating system. The installation options also provide that modern ‘feel’ and makes it a bit soothing to the eyes!

Please let me know if you have any questions in the comments section.