Skip to content

Moving an existing AgendaX installation to Microsoft 365

Many of our customers are migrating their existing Exchange infrastructure to the cloud. Microsoft 365 is the most commonly used option.

But what needs to be done to an existing AgendaX installation that is configured to access the on-premise Exchange servers?

This largely depends on if you make the transition to Microsoft 365 in one step (batch) or in several steps over the course of weeks / months. If the transition is done in one batch, you will only need to reconfigure your existing installation. If you have many mailboxes to migrate and this will take a while, we suggest to setup a second instance of AgendaX on the same server. This will allow for a smooth transition and will at any time show all user calendars (both on-premise and migrated mailboxes) in the AgendaX views.

Migration in one batch

You will need to uninstall MAPI/CDO (Exchange Server MAPI), if installed, and install an Outlook 32bit client (Outlook 2016 or later) on the AgendaX server. Also, the AgendaX mailbox needs to be migrated to Microsoft 365 first, before you start migrating user mailboxes.

Also, make sure that a modern browser is installed on the AgendaX server, as this is needed to create an Outlook profile that connects to a Microsoft 365 mailbox.

Then,

  • Log in on the AgendaX Server with the AgendaX user. This is VERY important because Outlook profiles are user specific.
  • Run Regedit and make sure that there is no value called MapiHttpDisabled under HKEY_CURRENT_USER\Software\Microsoft\Exchange or that its value is set to 0.
  • Add the following keys to the registry under HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\Identity

    EnableADAL (DWORD) 1
    DisableAADWAM (DWORD) 1
    DisableADALatopWAMOverride (DWORD) 1

    and under HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Cached Mode add a
    value called AllowAutoDiscoverForNonOutlook and set its value to DWORD 1.
  • Outlook 2016:
    • Make sure that KB3115279 for Office 2016 32bit (https://www.microsoft.com/en-us/download/details.aspx?id=53200)
      is installed.
    • Add the following parameter to AgentX.ini:
      [Config]
      ForceIExchangeManageStoreEx=1
  • Outlook 2019 / Office 365:
    • Add the following parameter to AgentX.ini:
      [Config]
      ForceIExchangeManageStoreEx=1
  • Then, create the Outlook profile and make sure that Exchange Cache mode is disabled in the Outlook profile. Enter the Outlook profile name (either in AgendaX Setup if you are setting up a new instance of AgendaX or in AgendaXCfg.exe if AgendaX is already installed under MSX Version / Outlook MAPI Client / Outlook Profile Name). The Standard- Name for the first Outlook- Profile that is configured is ‘Outlook’.
  • Start Outlook with that profile and make sure that the profile works. When you are prompted for a password, make sure to check the ‘Remember password’ checkbox.
  • Finally, close Outlook and restart the AgendaX Update Service

The permissions on Microsoft 365 have to be set a bit differently than in an On Site Exchange environment. On Microsoft 365, you will have to set permissions on folder level:

Please give the AgendaX user Reviewer rights on the top of the mailbox, and Editor rights on the Calendar folders.

The following Powershell script will do this for you. Replace “agendax” on the 4th and 5th line in the following script with the name of your M365 AgendaX account:

Connect-ExchangeOnline
foreach ($Mailbox in (Get-EXOMailbox -OrganizationalUnit abc -ResultSize Unlimited))
{
Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
}
Disconnect-ExchangeOnline

"-OrganizationalUnit abc" limits the users to a specific OU (here "abc"). This can be omitted if you would like
to grant the permissions on every account in your organization.

If, instead, you would like to limit the users to users that have a specific SMTP- address, you can use the
following script:

Connect-ExchangeOnline
foreach ($Mailbox in (Get-Mailbox -ResultSize Unlimited | where-Object {($_.PrimarySMTPAddress -like "*@agendax.net")}))
{
Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
}
Disconnect-ExchangeOnline

Or, if you would like to limit the users to members of a specific distribution list, you can use the following:

Connect-ExchangeOnline
foreach ($Mailbox in (Get-DistributionGroupMember -Identity "NameOfDistributionList" -ResultSize Unlimited))
{
Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
}
Disconnect-ExchangeOnline

Please see also the following document: AgendaX Installation Guide

Migration over the course of several weeks / months

If the move to Microsoft 365 takes some time and you migrate mailboxes with several batches, we suggest to install a second instance of AgendaX during the transition.

The first (existing) instance will read on-premise mailboxes and the second (new) instance will read migrated (M365) mailboxes.

During the transition, you will still see all calendars of both on-premise and migrated mailboxes in the AgendaX web application.

Installing a second AgendaX Setup on the AgendaX server to access the M365 mailboxes

  • Create a new AgendaX user on Microsoft 365 (including mailbox)
  • Copy the AgendaX installation folder to a second location, e.g. AgendaXM365
  • Install the second service with the Multi service configuration tool AgendaX multi service configuration utility. The service account you enter will be the account used to run the AgendaX Update Service. This should ideally be the new AgendaX user on Microsoft 365. If this is not possible, select a local user with Administrative privileges on the AgendaX Server.
  • Install Outlook 2016 (or later) 32bit on the AgendaX Server, if not already present
  • Make sure that a modern browser is installed on the AgendaX server, as this is needed to create an Outlook profile that connects to a Microsoft 365 mailbox.
  • Log on with the new AgendaX user (or the local user you specified while installing the second service) to the AgendaX server
  • Set the appropriate registry keys for the Outlook version used and AgentX.ini settings (page 6 in the Installation Guide: AgendaX Installation Guide) or see above (Migration in one batch)
  • Create an Outlook profile with this user, accessing its mailbox on M365, and disable Exchange Cache Mode in the Outlook profile. If you are prompted for a username / password, check the ‘Remember Password’ option before entering the credentials. Note the name of the Outlook profile you created (default: Outlook)
  • Run the AgendaX Configuration in the AgendaX M365 installation (AgendaXCfg.exe), click MSX Version, select Office 365 and enter the name of the Outlook profile you created, logged-in with the M365 AgendaX user (or the local user).
  • Set the Mailbox folder permissions for the users already migrated to M365 with the following Powershell script. Replace “agendax” on the 4th and 5th line in the following script with the name of your M365 AgendaX account:
    [text-blocks id=”4990″ slug=”exchange-permissions-2016-office-365″]
  • Stop the AgendaX Update service of the old AgendaX installation
  • Run the AgendaX Configuration of both the old and the new installation (AgendaXCfg.exe) and tick the “Multiple services write to this database” option and drop the database tables (only once) under Config / Drop tables.
  • Click “Update” in both AgendaX Configuations and “Yes” to restart the Services
  • Check the Windows Application Eventlog for possible warnings / errors. Each of the services will add warnings to the Application Event log for the mailboxes that are not on their system. This is normal. The on-premise Setup will create warnings for the M365 mailboxes and the M365 Setup will create warnings for the on-premise mailboxes. If you get warnings on the M365 installation about mailboxes that cannot be found in the global address book and these mailboxes have already been migrated to M365, you will have to re-select them from the address book in the AgendaX group definitions (AgendaXCfg.exe / Groups).
  • After both AgendaX Update Services have finished scanning through the mailboxes, you will see both on-premise and M365 mailbox calendars in the AgendaX web application.
  • While you are moving users from the on-premise Exchange servers to M365, you will need to re-run the above Powershell script to set permissions on the newly moved mailboxes.

Removing the old AgendaX Setup after all mailboxes are moved to M365

When all mailboxes are moved to M365, you can uninstall the old AgendaX setup by following the below steps. As the web-application of AgendaX is still running under your old AgendaX setup, you will first need to move this to the location of the new (M365) installation:

  • Run Internet Information Services (IIS) Manager, navigate to Sites / Default Web Site / AgendaX, click “Basic settings” and change the location of the “Physical path” to the folder of your new AgendaX M365 installation.

If you have made any configuration changes on the AgendaX Administration page (in the AgendaX web application) since you installed the M365 installation of AgendaX, or if you have made changes to the collapsible group menu in the multmenu.txt file, copy config.inc and multmenu.txt (both are located in the AGENDA subfolder of your AgendaX installation folder) from the old Setup to the M365 setup.

To uninstall the old AgendaX Setup, follow the steps below:

  • Stop the AgendaX Update Service of the old installation
  • Close any instances of MMC (Microsoft Management Console), e.g. Services, Event Viewer
  • Open a command prompt and change to the AgendaX installation folder of your old AgendaX installation, e.g. CD C:\Inetpub\AgendaX
  • Enter the following command:
    AgendaXSrv.exe -u (this will uninstall the AgendaX Update Service)
  • Delete the old AgendaX installation folder

The final step is to tell the AgendaX Update service that no longer other services are using the same database. Run the AgendaX Configuration (AgendaXCfg.exe) in your new M365 setup folder and untick the “Multiple services write to this database” option and drop the database tables under Config / Drop tables, then click “Update” and “Yes” to restart the service.

Back To Top