If your question doesn't fit those topics, or you wish Add2Exchange did something else too, post here

5/23/2011 11:51:07 AM
Total Posts 158

How Add2Exchange Works

Initial Tips:
In order to access Add2Exchange, you must be logged into the "replication server" as the Add2Exchange Service Account, by default, named "zadd2exchange" if installed as the default user.  If you do not know the password of the Sync Service account, stop the Add2Exchange Service on the replication server and change the password and make note of it.  If you change the pw, you will need to use that new password for the Add2Exchange Service in the Services tab.  If you are using automation for permissions, use the Diditbetter Support Menu.ps1 on the desktop to change the bit locked and encrypted passwords for that function.  Open Outlook and OWA and select to remember the new password for Autodiscover to work correctly.  Normally the sync service account password is set to never expire.  This is a powerful account, so make it be hard to guess and does not have the same password as any other account.

Be sure to Log into the server hosting Add2exchange as the service account is the only one with permissions to do so and the program is only installed for this user.  Do not copy shortcuts to the Console to any other user's profile.

In order for Add2Exchange to replicate, you cannot have the Add2Exchange Console open or be making changes to the relationships in the Add2Exchange Console.  Also, there cannot be another session with that account logged in and the Add2Exchange Console open.  Tip: Sometimes there may be another RDP connection to the server (MSTSC) which has the Add2exchange Console open in another session.  Look to Task Manager for Users on the replication server and make sure there is only one service account session.  With the Add2Exchange Console Closed and the Add2Exchange Service started, after a few minutes you should see success audits in the Add2Exchange event log.  We suggest setting logging to "start and stop" logging in the Add2Exchange Console\Services Utility\Logging to be able to monitor normal sync processes. Please close the Add2exchange Console and when prompted, select to stay logged on and watch the processes. A new red circular sync icon will show up in the taskbar and it is able to be double clicked to see the actual process.  When closing the Add2Exchange Console, when prompted, start the Add2Exchange Service. 

If you open the Add2Exchange Console after you start the Add2Exchange (A2E) Service, the A2E Service will the stop automatically.  The Console will not open with the Add2Exchange Service running, but the Service can be manually started while the Console is open, but it will not sync and will specify in the Add2Exchange Event log.

Onboarding and Offboarding:  How to "Poke it" to do the changes you make immediately:

Normally Add2Exchange can be set to be fully automatic, but sometimes you may want to onboard or offboard a user "in a hurry".
Onboarding – if using Relationship Group Manager (RGM) and not single relationships, just add users to our managed distribution list(s).  To offboard, remove from the managed distribution list(s). To make a single relationship, open the Console and add or remove a relationship manually.  Normally the system is set to run Relman once, twice or three times a day.  Relman looks at the distribution list and checks to see if there should be a relationship made or removed.  If you have added a user to the distribution list, and open the A2E Console, and immediately close the console, selecting NOT to continue where it left off, and that you will stay logged on and watch the process, and start the Service, the Relman process runs first, adding or removing the relationship.     

If  you are doing gal sync, add the distribution list we are using, such as "zgalsync", and a relationship will be made next sync.  If you are using a distribution list to determine which objects get synced out to people, such as zgalinclude, add or remove the user from that list as well and it will make or remove the object for that user and the others in zgalsync. 

If you have not given permissions, do so.  If you are using the service account and the Timed Task to automatically give permissions, open the Scheduled Tasks and run the task for Permissions.  Run all permissions tasks that apply, either On Prem or 365. On prem permissions are almost immediate but if O365, wait 20 minutes to do give it time to apply, and note the task result was successful.

  • Open Outlook to make sure it opens correctly (i.e., was not prompted for a password, or doesn’t open)  IF Outlook doesn’t open, contact tech support.  If you remake the profile, make sure it is named the same as the existing profile to maintain licensing, and it is a non-cached and online profile.
  • Verify Outlook is connected
  • Close Outlook
  • Open the Add2exchange Console
  • Immediately exit the Console
  • Upon exit, if the system was in the middle of syncing a user, it will ask you if you want to continue where you left off.  If are prompted, select NO so that it will start at the beginning, and run the added users and remove the offboarded users first, then go sync the rest of them. 
  • When asked will you be logging off while the Add2exchange is running: NO
  • Do you wish to watch the Add2exchange Agent progress while the Add2exchange Service is Running: Yes
  • Reminder! The synchronization service is currently not running: Select YES to start the synchronization service prior to exiting
  • Next, wait 30 seconds and watch the synchronization (Add2Exchange Agent) start and review the Add2Exchange Event logs for informational audits and successes.

TIP: If relationships are not being removed when you remove from the distribution list, when in the Add2Exchange Console:

  • Select Relationship Group Management from the top drop down
  • On the left, Select the distribution list you want to evaluate
  • Your user should show up there as unchecked if the user is currently detected not to be in the dist list. We suggest removing users for the distribution list in Active Directory instead of unchecking the user in the Console to make this easier to manage, but you COULD uncheck the undesired user here and then apply and it will remove the relationship(s) during the next sync.  Be sure to remove the user from the dist list in Active Directory.   

Close the Add2Exchange Console with the options specified above.

Offboarding: When you offboard you should give enough time for the system to remove the data replicated to the mailbox and this can only be done if the account is not hidden from the GAL, deleted, tomb stoned,  detached, changed to a Contact or the license revoked.  If you are terminating someone tomorrow, remove the user from our managed distribution list(s) the day or a few hours before to allow time for it to dereplicate those relationships.  If you are using single relationships, open the A2E Console and manually delete the relationship(s) for that user, close the Console and let the system remove the copied data to the user(s) before you hide the user from the GAL or Global Address List.   

If you offboard a user with a sync relationship and hide the account immediately,  then the relationship will go into alert (shows as red) and the system will error in the log when it is time for it to sync.  By Default, we allow 5 relationships in alert before the system stops and waits for the next sync cycle.  This is configurable in the Console Settings Utility, Tools, but changing that doesn’t stop the problem.  A small change in offboarding is recommended. 

If this offboarding process hasn't happened correctly and the relationship is in alert (red) or is in the trash and is in alert then in the A2E Console from the Tools menu, select the option Empty Trash and close the Console and let run a full sync.  This option will force delete the relationships with no cleanup. 

So if you are terminating someone tomorrow, then a few hours before you actually want to hide from the GAL, please remove the terminated user from the managed distribution groups we use to create relationships and when the system runs Relationship Management (Relman), the distribution list will not have the user there and will tag the relationship for deletion.  The next sync cycle, we will remove the information gracefully, without issue.  This is especially important for Bring your own Device (BYOD) operations so a terminated user doesn’t leave with your information.  The naming of our managed distribution lists are names like zgalsync, zcalendarsync, zpubContactsync etc, but may be different in your organization.  We put a "z" in front of the name of the folder or function of the sync because it is easier to understand what the dist list is attached to and syncing and since the dist lists cannot be hidden from the GAL, this naming convention for these managed lists naturally go to the bottom of the GAL list so they are harder to find.   We do not suggest using existing distribution lists for syncing, since this always causes issues so make new ones for each purpose. 

Removing terminated users from the dist list will remove the data BEFORE you hide from the GAL and it will remove the data the first time it syncs. 

This problem with offboarding can cause sync to stop or take much longer!  If someone has already hidden the account or deleted it, or removed the license, that user(s) relationships will be in RED (alert) or could be in the trash in the Add2Exchange Console since the system did not have enough time to remove the data.  You could just unhide the account and let it desync, but this is only necessary if the user is ever to be brought back in use.  If this is the case, the data will still be in the user's folders and if the user is still in the distribution group, a relationship will be made again and depending on the settings, could cause duplication.   This is easily fixed after the fact, but can be avoided with the proper offboard procedure.  When the offboarding process was not followed you can still remove the alerted relationships by selecting Empty Trash from the Add2Exchange Console Global Options and it will try to remove the data, but if it can't it will force the deletion and leave the copied data in the mailbox or folder.   Note: This Empty Trash option is a toggle, so you must select it and then close the Console, and then let run a full cycle.  Opening up the Console before it gets a chance to remove the relationship turns the function off and will be required you to set the Empty Trash flag again to remove the alerted and trashed relationship.

When the Add2Exchange Service is started, it can take up to 30 seconds later the Add2Exchange Agent will come into memory.  

If you were closing the Console and starting the service and it fails, check password used to start the Add2Exchange Service in the Services Applet. You can start the Add2Exchange Service from the Services Control Manager (services.msc) applet only with the A2E Service Account Credentials.  It should be set to Automatic Delayed Start.  NOTE THIS EXCEPTION: The SQL2005 Express A2ESQLServer Instance should also be started with the A2E Service Account Credentials, but SQL2008, SQL2012, SQL2018 and newer should be started as local system account.  If you are running the system with 2005 SQL, you should schedule an appointment with Tech Support as soon as possible.  Please Consider building a new replication machine or VM and we will migrate your replication server with a free license transfer.

We have made a white DidItBetter Management Console (DidItBetter MMC.msc) shortcut on your desktop which combines the services mmc and event viewer and other useful features used in A2E for your convenience. 

The initial sync after starting the Add2Exchange Service is a special sync and does not wait the sleep times specified, but each module will run right after each other, only pausing seconds.  The second sync will run with the times specified. After the Add2Exchange Service Starts, A2E will do the first sync cycle, again which is independent of the timers set in the Add2Exchange Console /Services/Utility dropdown.  In the Add2Exchange Console there are several modules in the Services Utility.  If set to anything other than 0, it will do that kind of Sync, and then finish, then wait up to 30 seconds and then do the next type of sync from top to bottom.  The initial Sync will run all modules and then wait up to 30 seconds between modules and run the next sync function no matter what the sleep interval is set to in the Console.  There is little need to set sync times in the Console to very short times during testing or normal operation.  Simply open the Console and close again to change the behavior of the sync. If you do set those times short, be sure to change them to appropriate sync times to ensure proper and expected syncs.

If selected, Relationship Group manager will run first and add and tag any relationships for initial sync or removal during that sync function.  

After Relationship Management (Relman) is done, and if selected to run on any interval, the Gal Manager will run. The Gal Syncing (GALSync) caching function runs if set to some non-zero schedule.  All the GAL items specified to be included in the GAL sync are copied and synced to the "Gal Cache" location specified.  It is there you would add the pictures for the users (exported from GAL or Azure) and or add any other information for the contacts not included in a typical GAL entry.   The system will not overwrite any information you put in the GAL cache unless it is mapped to the GAL item.  There are exceptions which can be configured to exclude the fields from GAL sync, so ask your support rep for your ideal configuration and they will show you how to accomplish it within the options of the software.    Usually the GAL is set to once or twice a day or more, depending on amount of GAL changes expected.  Remember,  if you want it more often, you can always stop the Add2Exchange Service, make the change in the Add2Exchange Console, Services/Utility drop down, Apply the changes and then and then close the Console and start the A2E Service up again.

If Gal was not selected to run, the system skips to Calendars and then Contacts and then Posts and Notes - if they apply - and are not set to off and are set to any non-zero sleep number, no matter what it is.  

So if you specified "NOT to continue where the system left off" when closing the A2E Console, the first relationships synced for that folder type would be the NEW relationship sync or the RESET for the relationship(s) for offboarded users for those relationships which should be deleted. 

It runs RELMAN, GAL, CALENDARS, CONTACTS, POSTS, NOTES, TASKS, and Confidential Email Notifier in this order.  The initial sync has special timing only if the A2E Console is closed and A2E Service is started no matter what interval you set in the Add2Exchange program.  After it does this initial sync cycle, it will wait the intervals you specify and then start syncing for that folder type.  If you open the A2E Console, it stops the Add2Exchange Service and if syncing, stops the Add2exchange Agent.

Typical values for the timing are 12 hours for Relman and GAL, Calendars can be anywhere from 10 minutes, 30 mins to an hour or once a day, depending on what information needs to be synced and how often it has to be updated.  Contacts can run 10 minutes to once a day depending on how often they change.  The timers are actually sleep periods, so it takes however long, then sleeps for 10 minutes and if nothing else is running, it will start again.  The functions are serially done, and not multithreaded so in other words, if Calendars are running, and Contacts are set to go, it will wait for Calendars to end and then start Contacts.

How A2E works:

The Add2Exchange Service is in memory 24/7 365.  If the service isn’t running, the program is not syncing data.  When it hits the first sync cycle or the specified sleep period is over, at the timed interval the Add2Exchange Agent comes into memory and directs the program on which folder type to replicate. 

If you open Task manager and go to processes tab and sort by image name for all users, it shows the Add2Exchange Agent program getting some CPU time, sometimes in bursts.  The Agent stays in memory during the entire processing of all relationships of that folder type.   When it is done with that relationship type, it will drop,  the system should log the event if set to and if there is another module to run, the Agent will direct to load and process that relationship automatically until they are all completed.  If you have Start and Stop logging on from within the Add2Exchange Console, Services, Utility, it will put an information audit in the log for the relationship being processed, the success audits and durations for that relationship for all relationships of that module type in the Add2Exchange Event log.  You can conveniently access that from the White DidItBetter Management.mmc icon on the desktop or from the standard Event Viewer.msc.

When done with all relationships for that folder type, the system waits up to 30 seconds and then does the next folder type, such as Contacts and then Tasks, etc, then it will wait until the appropriate sleep interval and do them again.  They will not run simultaneously, but will wait for the next free cycle.  The system runs overdue tasks immediately when possible.  Each will put a audits in the event log.  Add2Exchange will always report all errors and Start and Stop logging is normal and will tell you how long it takes for each sync cycle for each folder type.

With Add2Exchange Enterprise Edition or 365 Edition, you can "turn off" the sync process modules for each module type from within the Add2Exchange Console, Services, Utility.  This does not remove the data already synced, it just pauses the updates and makes the data become "stale"  Be sure to run the process back on for timely updates.   Opening up the A2E Console will stop the A2E Service, and the A2E Agent.  If the service is started with the Console open, it will not sync.
TIP: We do not recommend timed reboots of the machine, as this is not normally necessary outside of proper update maintenance.   We do not suggest monitoring tools with extra logic to start the Add2Exchange Service if it isn't running (except the standard Delayed Start on startup). Doing this kind of management is not normally necessary and can stop the proper operation of using the Add2Exchange Console. 

A review of the Task Manager Processes Tab and sorted by Image name and Add2Exchange Event Viewer will give you a clearer understanding of how the program has operated and is operating now and how long it takes to sync each folder type.  Keep the Logging on Start and Stop logging from within the Add2Exchange Console.  There is usually no need to do Full logging as if there are any errors, they will always show in the event log.  Full logging is only for debugging and will show all kinds of warnings and errors which are part of proper operation. 

Look for Success Audits in the Add2Exchange Event Viewer for a history of syncs and how long it takes normally so you can have a good metric of what is normal.  

If you have issues, you can communicate to Support the "free way" (comes with every license) by sending any of your event log failures, together with an Export of your Setup (Help- Export) and a full description of error and what you did to try to fix it (this is essential) and attach to an email support request here: Create and Support Request.

If you are on Premier Support and want resolution, please use the link above and just request to schedule a time to resolve.  We will remote in and assist and repair with a typical turnaround of response of 2 hours and our typical ticket resolution is an hour.  If it is a fire, tell us and we will jump into action. 

Unfortunately we have seen Email support can typically take days for resolution and ultimately requires us to log in and fix it.  However, sometimes we identify changes and fixes in our world and put them out in our new build and you may be running an old build with the problem we have resolved.  For a potential fix to your issue, if you are within your free upgrades period, be sure to get the latest build by running the one button upgrade from the Diditbetter Support Menu.ps1.  If you don't have that shortcut on your desktop, please schedule a fix and recertification as you are long overdue.