1. Knowledge Base
  2. ActiveSync for MDaemon

How to migrate users and data to MDaemon using the MDaemon ActiveSync Migration Client

MDaemon includes an ActiveSync protocol based Migration Client. Using Exchange ActiveSync (EAS), the client can migrate public and personal mail, calendars, tasks, notes, and contacts from mail servers that support ActiveSync version 14.1.

The ActiveSync Migration Client (ASMC) is included with MDaemon versions 16.0 and above.  MDaemon 21.0 and newer versions contain a GUI to assist in running ASMC (\MDaemon\App\ASMCUI.exe). The GUI allows you to store the configuration and recall them at a later time.  The migration client can be ran from a command line prompt in any version past 16.0.

Complete documentation for the migration client can be found in the ActiveSync Migration Client.html file in the \MDaemon\Docs\ directory.


Special Considerations

  • For Exchange migrations, Exchange Server 2010 SP1 and higher are supported for use with the ActiveSync Migration Client.
  • The ActiveSync protocol must be available and enabled on the server that is being migrated to MDaemon.
  • The Domain must be created in MDaemon.
  • It is recommended to disable the Public and Shared folder during the majority of the migration.  The migration tool will consider all folders each user has permissions to view as personal folders.  Having public and/or shared folders enabled while performing the migration will result in public and shared folders synced for each individual account.
    1. Disable syncing Public and Shared folders via ActiveSync on the original server.
    2. Follow the article and add all users to the input.txt file with the exception of one account.
    3. Once finished, enable public folders sync on the original server.
    4. Rebuild the input.txt file for the single remaining user.
    5. Perform the sync command.
    6. The public folders should now be synced to the user's personal folder location.
    7. Cut/Paste these folders to the \MDaemon\Public Folders directory.
    • Best practices in regards to migrating public folders is to follow these steps:
  • For migrations from Office 365, the server name outlook.office365.com will be used.
    • The /SSL parameter is required if using the ActiveSync Migration Tool with Office 365.
  • Servers may require SSL connections. 

Installation

The ASMC.exe, ASMCUI.exe and RemRebebld.dll files are located in the \MDaemon\App directory. The ActiveSync Migration Client can be used as a command line tool or through the GUI.  It does not require an installation.

GUI Configuration

activesync migration mdaemon client tool menu

  1. Create a new text file.
  2. If using a comma separated value (CSV) format, populate the text file with comma.
    mail.company.com,user01@company.mail,password
    activesync migration mdaemon client tool file input
  3. If using a tab delimited (TSV) format, the syntax would contain a tab between values.
    mail.company.com     user01@company.mail     password
    activesync migration mdaemon client tool input file
  4. Save the CSV/TSV file to a directory.
  5. Enter the file and directory path in the /InputFile textbox.
    For Example: C:\MDaemon\Migrate\input_file.txt
    Note: Do not include a backslash "\" at the end of the path.
  6. Enter the directory path for the output migration path in the /OutDir textbox. 
    For example: C:\MDaemon\Users
  7. (Optional) Enter the directory path and filename for the log file.
    For example: C:\MDaemon\Logs\ASMC_logfile.log
  8. (Optional) Enter the directory path and filename for the XML logs to be written to in the /XmlDir: text box.
    For example: C:\MDaemon\Logs\ASMC_XML

Account Creation Options

The ActiveSync Migration Client has two options to input users, manually with a CSV file generated by the client or automatically using the MDaemon API.

  • If using the CSV Option, create a path to write the CSV file in the /ImportFile textbox.
    For Example: C:\MDaemon\Migrate\users.csv
    activesync migration mdaemon client tool menu general
    • To import the CSV file that contains the list of users into MDaemon:
      1. Launch MDaemon
      2. Select Accounts
      3. Select Importing
      4. Click Import accounts from a comma delimited text file...
      5. Select the CSV file created from the /ImportFile textbox.
  • If using the MDaemon API, enter the MDaemon hostname or IP address, the global administrator address, and password.
    • (Optional) Choose Set newly create accounts to Disabled state if desired.

Advanced Options

There are a number of options that can be configured in the Advanced settings tab.  Utilizing the log file output in the steps above can help determine if any additional configurations need to be made. For example, if an SSL connection is required to the original mail server, check the /SSL option.  Additional descriptions of each selection can be found at the bottom of this article and/or by selecting the Help button on this window.

activesync migration mdaemon client tool advanced settings

Folders

In this window, you can select which folders to include in the migration.

activesync migration mdaemon client tool menu folders

  • Select Run Migration 
  • The GUI will ask to save the configuration that can be loaded again if needed.
    Select Yes, No, or Cancel to go back.
  • When Yes is selected, a confirmation and the string will be displayed.
    activesync migration mdaemon client tool run
  • Select Yes to begin the migration.

 

Using the MDaemon ActiveSync Migration Client tool using a command prompt

MDaemon versions 16.0 through 20.0 do not have access to the ActiveSync Migration Client GUI and must use a command line string.

There are three parts to the migration using the command line tool.  

  1. Migrating all of the mail and PIM data for specified users from the host server to the server the migration is taking place.  
  2. Importing the accounts to the MDaemon server.  
  3. Rebuilding the Reminders.dat file from the user’s data.

To connect to the source server, the ActiveSync Migration Client uses the /InputFile parameter which points to a text file that contacts the source server's name, user login (email address), and password to the account.  The file type used for the /InputFile parameter should be in a comma separated value (CSV) or tab delimited file.

The /LogFile parameter will generate a log file will be written out to a specified directory.

The /OutDir parameter to specify a preferred path if necessary.  The tool will write the user's migrated data to the \MDaemon\Data directory, by default. 

There are several more parameters that may or may not be required:

  •  /InputFile:String : [Required] Input File (Tab Delimited Server\tLogon\tPassword)
    • ie. /InputFile:E:\Migration\Input.txt
    • ie. /InputFile:"E:\Migrated Users\input.txt"
  •  /LogFile:String : Log pathname (mirrors console logging to text file)
    • ie. /LogFile:E:\Migration\ASMCLog.txt
    • ie. /LogFile:"E:\Migrated Users\ASMCLog.txt"
    • [Required if NOT running on MDaemon Server]
  •  /OutDir:String : Output Directory for migrated users
    • REQUIRED for initial migration when NOT run on an MDaemon Server
    • ie. /OutDir:E:\Migration\Out
    • ie. /OutDir:"E:\Migrated Users\Out"
  •  /XmlDir:String : XML Archive Directory, saves copies of XML conversations with server. Useful in troubleshooting.
    • ie. /XmlDir:E:\Migration\XML
    • ie. /XmlDir:"E:\Migrated Users\XML"
  •  /ImportFile:String : Pathname of CSV file to generate for MDaemon to import accounts from.
    • ie. /ImportFile:E:\Migration\ImportMe.csv
    • ie. /ImportFile:"E:\Migrated Users\ImportMe.csv"
  •  /ThreadCount:UnsignedInteger : Number of concurrent migration threads
    • Provided you have sufficient bandwidth, the higher the threadcount, the faster the migration will complete.
    • ie. /ThreadCount:64
    • [Default = 4]
  •  /WindowSize:UnsignedInteger : Number of items to retrieve per transaction with the server
    • ie. /WindowSize:16
    • [Default = 10]
  •  /DNSTimeout:UnsignedInteger : DNS Resolver Timeout
    • ie. /DNSTimeout:30
    • [Default = 15 seconds]
  •  /ConnectTimeout:UnsignedInteger : Connection Timeout
    • ie. /ConnectTimeout:60
    • [Default = 30 seconds]
  •  /SendTimeout:UnsignedInteger : Send Timeout
    • ie. /SendTimeout:60
    • [Default = 60 seconds]
  •  /ReceiveTimeout:UnsignedInteger : Receive Timeout
    • ie. /ReceiveTimeout:60
    • [Default = 60 seconds]
  •  /SSL : Use SSL in communications with server
    •  [Default = not enabled]
  •  /Ice : Ignore Certificate Errors. Requires /SSL
    • [Default = not enabled]
  •  /WBXML : Archive WbXml Data. Requires /XmlDir
    • [Default = not enabled]
  •  /Audio : Add audio feedback for notifications.
    • [Default = not enabled]
  •  /ReSync : Remove destination data and perform Initial Syncs
    • [Default = not enabled]
  •  /RebuildReminders : Processes previously migrated users and rebuilds Reminder.dat datafile.
    • MUST be run on an MDaemon Server, Users MUST Exist in MDaemon
    • MUST NOT be used in conjunction with /ReSync
    • [Default = not enabled]
  •  /IgnoreGetUserInfoErrors : Ignores errors returned by Settings/Get/UserInformation requests.
    • [Default = not enabled]
  •  /IgnoreGetOofErrors : Ignores errors returned by Settings/Get/OOF requests.
    • [Default = not enabled]
  •  /ViewLog : Automatically view the log upon completion (on MDaemon Server machines only)
    • [Default = not enabled]
  •  /FolderTypes:String : The folder types to migrate, a comma delimited string of numbers
    (ie. /FolderTypes:2,5,19 would get the Inbox, Sent Items and Recipient Cache)
    • 1: User-created generic folder
    • 2: Default Inbox folder
    • 3: Default Drafts folder
    • 4: Default Deleted Items folder
    • 5: Default Sent Items folder
    • 6: Default Outbox folder
    • 7: Default Tasks folder
    • 8: Default Calendar folder
    • 9: Default Contacts folder
    • 10: Default Notes folder
    • 12: User-created Mail folder
    • 13: User-created Calendar folder
    • 14: User-created Contacts folder
    • 15: User-created Tasks folder
    • 17: User-created Notes folder
    • 19: Recipient information cache
  •  /TestMode : Testing Mode only.
    • Will not transfer eMail MIME data or attachments.
    • You can use this option to preview the migration processing.
    • [Default = not enabled]
  •  /LogLevel:UnsignedInteger : The Logging Detail Level
    • 1: All Log Entries [Default]
    • 2: Informational, Warning, Error and Request Entries
    • 3: Warning, Error and Request Entries
    • The log level may also be changed during runtime using Ctrl-1, Ctrl-2 or Ctrl-3
    • ie. /LogLevel:2
  •  /GPI:UnsignedInteger : The Global Progress Interval.
    • The number of minutes in which Global Processing Status is logged.
    • ie. /GPI:2
    • [Default = 1 Minute]
  •  /MDServer:String : The DNS name of your MDaemon Server that will contain the migrated accounts.
    • This is used to eliminate the need to use MDaemon's User Import Process.
    • ASMC will call the XML API Service on this Server to create/update accounts.
    • This requires that you also include logon credentials using /MDLogon and /MDPassword.
    • *** MDaemon Discovery Protocol (Mddp.dll) MUST be running on the target Server on ports 80/443.
    • *** The XmlApi (MdMgmtWS.dll) MUST be running on the target server.
    • /MDLogon:String : The GLOBAL ADMIN Logon Account for the server specified using /MDServer.
    • ASMC will use this account to access the XMLAPI on the MDaemon Server.
    • Required when specifying /MDServer.
    • ie. /MDLogon:admin@company.mail
  •  /MDPassword:String : The password for the account specified using /MDLogon.
    • ASMC will use this password in concert with the /MDLogon account to access the XMLAPI on the MDaemon Server.
    • Required when specifying /MDServer.
    • ie. /MDPassword:"K@UL^ghuiUIgu6"
  •  /DisableAccounts : Disable accounts created on the MDaemon Server.
    • [Default = not enabled]

 * String parameters that contain spaces or special characters such as &, %, !, ^, etc... MUST BE QUOTED as seen above

Path names (Strings) that have spaces present in them must be enclosed in double quotes.

Example:
/InputFile:C:\Migration\MigrationUsers.txt 
Vs.
/InputFile: "C:\Migration\Migration Users.txt"

Part 1 - Data Migration using the migration tool

The migration will write all the migrated data to the \MDaemon\Data\DomainName directory, by default.  If you want to write the migrated data to a specified location, you’ll need to use /OutDir parameter.

  1. Open a Command Prompt
  2. Use the change directory (CD) command to navigate to the \MDaemon\App directory.
  3. Use the ASMC command in front of the migration string.
    The example below references the CSV/TSV file, creates a logfile, output data to the \MDaemon\Users\(domain)\ directory, and creates a CSV file to import users in to MDaemon.
    C:\MDaemon\App>ASMC /InputFile:C:\migration\input.txt /LogFile:C:\migration\log\logfile.log /Outdir:C:\MDaemon\Users /ImportFile:C:\MDaemon\APP\UserImport.csv
    • String parameters that contain spaces or recognized command line delimiters must be in quotes.
      • C:\migration\input.txt
      • "C:\migration folder\input.txt"

Part 2 - Importing accounts into MDaemon 

In this example, the /ImportFile:C:\MDaemon\App\UserImport.csv string in our command line will create a CSV file in the \MDaemon\App folder.  This file is used to import the users into MDaemon.

  1. Launch MDaemon
  2. Select Accounts
  3. Select Importing
  4. Click Import accounts from a comma delimited text file...
  5. Navigate to the directory where the 
  6. Select the CSV file created from the /ImportFile string.

Part 3 - Rebuild the reminders.dat file 

This step is required if you want the migrated calendar and event items to have MDaemon’s server-based reminder emails sent to clients.  This is useful if a user is using an IMAP client in some situations where they do not have access to their calendar or task information.  This has no bearing on altering the behavior of any ActiveSync Client or CalDav client as for its display of reminders. 

  1. Open a Command Prompt
  2. Use the CD command to navigate to the \MDaemon\App directory.
  3. Use the ASMC command in front of the following command.
    C:\MDaemon\App>ASMC /InputFile:C:\migration\input.txt /LogFile:C:\migration\log\logfile.log /RebuildReminders
    • String parameters that contain spaces or recognized command line delimiters must be quoted.
      • C:\migration\input.txt
      • "C:\migration folder\input.txt"

Migration Exceptions 

The ActiveSync migration tool will only sync fields that are available in the ActiveSync 14.1 protocol.  The following data is not migrated from WorldClient or other servers. 

  1. Calendar
    • Priority Field - results will show normal regardless after migration
  2. Contacts
    • Blackberry PIN
    • Webpage (Home)
  3. Tasks
    • All fields under the details tab
    • Percentage complete - ActiveSync uses either complete or not complete
    • Status field will either be Not started or Finished
    • Priority Field
    • Private Flag