protected override void ExecuteTask()
{
int changeCount;
List<ADManagedGroup> managedGroups = this.ExecutionContext.JobDetail.JobDataMap["ManagedGroups"] as List<ADManagedGroup>;
if (managedGroups == null)
managedGroups = ActiveDirectory.Context.ManagedGroups.Values;
this.Status.UpdateStatus(0, "Synchronising Active Directory Managed Groups", "Starting");
changeCount = ActiveDirectory.Context.ManagedGroups.SyncManagedGroups(managedGroups, this.Status);
Status.LogInformation($"Synchronised Active Directory Managed Groups, {changeCount:N0} changes made");
this.Status.SetFinishedMessage(string.Format("Made {0} Changes to Active Directory Groups", changeCount));
}