Where are the sample scripts for preparing a remote move request?


  • The TechNet article says that there are sample scripts for calling the Update-Recipient cmdlet.  But there is no link to these sample scripts.  Where can I find these sample scripts?

    I'm trying to do a cross-forest move.  I used the Active Directory Migration Tool to successfully move a user into the new domain.  But the New-MoveRequest fails by saying that the username couldn't be found.  The above article indicates that additional attributes are required in Active Directory and that the Update-Recipient cmdlet will prepare these attributes.  But when I run the Update-Recipient cmdlet, it also reports ObjectNotFound.  I've checked many times and the user object is definitely in the target Active Directory and Active Directory has replicated.
    Wednesday, November 18, 2009 9:13 PM

All replies

  •  I was about to ask a very similar question. I am also trying to do a cross-forest move, ADMT gets my user account with SIDHistory but loads of attributes are being skipped. Specifically a lot of the 'Mandatory Attributes' from the linked article. Manually creating these attributes with copy/paste and ADSI edit doesn't seem to help. The attribute that seems to be the first check is msExchMailboxGUID but, as I said, manually replicating this attribute doens't help.

     My question was going to be about scripting ADMT to include the extra attributes but maybe Update-Recipient does the same work. The error I am getting when I attempt the New-MoveRequest is:

    The operation couldn't be performed because object 'c899311a-2371-450b-a319-5a1471866485' couldn't be found on 'DC01.domain.local'.

    Which shows the value of the msExchMailboxGuid attribute, are you seeing the username instead in your testing?
    Thursday, November 19, 2009 10:18 PM
  • I'm getting the same error, except mine reports the username instead of the GUID.  And I also get the same error when running Update-Recipient.

    I think you are correct in that the problem is related to mandatory attributes.  Unfortunately, I can't find a TechNet article that explains how to get these mandatory attributes over to the target domain.  The article that I mentioned above comes very close to solving the problem in that it says "We have created a sample Powershell script that reads from and writes to Active Directory and calls the Update-Recipient cmdlet."  Then at the bottom of the article it says "Use a Sample Script Example to Configure Active Directory Attributes. You can download the sample remote Powershell script from this location."  But then the article ends without providing any link to the code.  I guess there is a script out there somewhere, but I don't know where it is.

    I also read other stuff about directory synchronization which I guess I'm going to have to look into.  But I only need to do a one-time move of about 40 users from one forest into a new forest with a new Exchange server as the result of a divestiture.  There are other users that must remain on the existing server with the existing company.

    Maybe we can't really move users/mailboxes from Exchange 2003 SP2 to Exchange 2010 without purchasing ancillary tools or significant programming/scripting.
    Friday, November 20, 2009 2:42 PM
  • I think our issues are close but different versions which probably accounts for the error phrasing. In brief my setup is:

    Source domain-
     Windows 2003 Forest/Domain functional level
     Windows 2008 domain controllers
     Windows 2008 with Exchange 2007 SP2 hosting all user mailboxes
     Windows 2008 R2 with Exchange 2010 installed in hopes performing online mailbox moves

    Target domain-
     Windows 2003 Forest/Domain functional level
     Windows 2008 domain controllers
     Windows 2008 R2 with Exchange 2010
     Windows 2008 with ADMT v3.1

    The only thing I can think of left to test is installing 2007 SP2 in the target domain and attempting a mailbox move.

    I have also submitted my question to Partner Online Technical Community and will post back anything useful I get there.

    Friday, November 20, 2009 10:54 PM
  • I have a little more to report from what I've gotten on the Partner Online Technical Community. The short answer is that the page linked to is in 'editing' and should include the script once published. The longer but no more helpful answer is that the script doesn't seem to be 100% perfect but accomplishes the tasks neccessary to move a mailbox. I have successfully done a remote move-request from Exchange 2007 SP2 to Exchange 2010 but still have a couple details to sort out around ADMT user synchronization.

    Most of all I am delighted to find out that I am not doing something completely wrong or impossible. I also did a quick test and I can move 2003 SP2 mailboxes just the same as 2007 SP2 ones after migrating the appropriate attributes. Other testing has shown that 2007 to 2007 crossforest seems to work with ADMT only and then updating to 2010 in the target forest. I would expect the same would be true of 2003 but don't really know on that scenario.

    I will share what I am able to once I am done with the other thread otherwise once the script and the article are published you should be able to complete your move.

    Wednesday, December 02, 2009 9:47 PM
  • cmcbrady,

    Do you have the PrepareMoveRequest.ps1 script mentioned at

    The link for it is dead can you post it?

    Saturday, December 19, 2009 2:03 AM
  • cmcbrady,

    I am in dire straits trying to figure out how to make this happen gracefully without that script. I am going from a 2003 to 2010 environment in separate forests. Any help on getting a copy of the script or details on how to migrate the required attributes would be greatly appreciated. 

    Thanks much,
    Thursday, January 07, 2010 6:57 PM
  • Hi Darrell17

    I don't know you was download Prepare-MoveRequest.ps1 yet. This is link to download it:
    Tuesday, February 23, 2010 3:43 AM
  • The preparation script from Microsoft doesn't work in most of the environments. I faced this problem just in the last few weeks, while doing such a migration of mailboxes. Thatswhy I developed my own solution for it:

    Here you have a solution, which not only prepares the attributes in the target domain, furthermore creates the move-request PS-scriptlet, which you can start directly after execution of the preparation. The parameters are easy to set-up:

    This link is going to my personal blog - because it is in German, it's a automatic translation link by using Google translation into the English language.

    Hope, that it is useful for everybody and I appreciate your feedbacks in my blog.

    Tuesday, March 02, 2010 10:44 PM
  • Hi Andre,

    I have visited your blog but translation is inaccurate and i am losing your meaning, also i cannot seem to download your solution for Cross Forest migration - Exch 2007 -> Exch 2010.

    Can you assist me by supplying your script or access to download and instructions please?




    Wednesday, July 27, 2011 1:47 AM
  • Hi Ivan,

    Yes I know: The blog itself is in German and the translation is done by an automatically routine... Thatswhy it's not that good...

    Just register yourself under the following link:

    After that click on that link to go directly to the download-page of the tool:

    All the required parameters are mentioned as well in the EXE itself, if you start it without any parameters:

    ****          CrossOrgMailboxMover 1.2 by iTrain GmbH 2010           ****
    ****                                          ****



    Move the user mailboxes from a source domain to another Exchange
    organization, after syncing the necessary attributes to the target domain.
    After creating the necessary user object attributes in the destination
    domain, the tool will prepare a PowerShell-script, which will process the
    move process itself. The tool will start the PowerShell-script auto-
    matically or you can decide to start it manually yourself.


    You'll find the most actual information about this tool and the process
    itself under the following link:



    A source domain running Exchange 2003 or higher and a target domain, which
    is running Exchange 2010. You need to run this script on a Exchange server
    2010 in the destination domain. If the source organization is running under
    Exchange 2003 you need to specify the parameter '/2003' as mentioned below.


    Further you need to have an existing trust relationship between the two
    domains or forests in which the Exchange organizations resides. All the
    user objects need to be migrated before of the execution of this tool using
    ADMT or other migration tools.


    Furthermore, the 64-bit version of the powershell.exe MUST be placed in
    the same directory, as the CrossOrgMailboxMover-Tool during execution.
    This ist just a prerequisite, if you like to start the PS-script
    automatically by the tool itself. If you start it manually after script
    script execution, this is not necessary.


    ATTENTION: You will find the right version of the powershell.exe-file in
               the directory 'winsxs' in your os-dir. It's NOT the exe in the




    - BaseDN:     Specifies the base distinguished name (DN) for the move
                  process of the user mailboxes (i.e. OU=Usr,DC=newdomain,DC=com)
                  NOTE: This DN should be in the TARGET domain!
    - SrcServer:  Specifies the preferred source domain controller to use
                  during the script
    - DstServer:  Specifies the preferred destination domain controller to use
                  during the script
    - SrcDomain:  Specifies the name of the source domain (e.g.
    - DstDomain:  Specifies the name of the destination domain (e.g.
    - DstMailDom: Specifies the mail domain in the destination domain
    - DstOrgName: Specifies the name of the destination Exchange organization
                  (e.g. 'First Organization')
    - DstMailDB:  Specifies the name of the destination mailbox database, if you
                  like to move the mailboxes within preparing the destination
    - 2003:       If the source Exchange organization is under the version 2003
                  you need to specify this parameter (without any values), so that
                  the attributes of ressource mailboxes wouldn't be moved.
                  NOTE: Ressource mailboxes were not available in this version
                        of Exchange.


                         INFO: The mailboxes will be moved over to the destination
                        Exchange organization. Be shure, to make a backup of
                        all your datas before and create the correct connectors
                        and MX-records in advance! You still can decide, whether
                        you like to finalize the process before the move process
                        or if you just like to prepare the attributes just before
                        it will be done with your confirmation!




    CrossOrgMailboxMover /BaseDN:"OU=MyUsers,DC=newdomain,DC=com"
                         /DstOrgName:"My New Exchange Organization"



    This description should be clear enough to successfully start the migration ;-D





    Wednesday, July 27, 2011 8:37 AM
  • so where the answer to the oringal question. anyone know where is the Prepare-MoveRequest.ps1 script to prepare mailboxes for cross-forest moves ???

    i've looked in C:\Program Files\Microsoft\Exchange Server\V14\Scripts ? its not in there?


    Tuesday, October 11, 2011 5:33 AM
  • so where the answer to the oringal question. anyone know where is the Prepare-MoveRequest.ps1 script to prepare mailboxes for cross-forest moves ???

    i've looked in C:\Program Files\Microsoft\Exchange Server\V14\Scripts ? its not in there?


    Check again after you have installed EX10 Service Pack 1.
    Martina Miskovic -
    Tuesday, October 11, 2011 5:41 AM