Scheduled tasks
Scheduled tasks are not a new concept. Yet, they are omnipresent because they let you achieve so much in terms of automation. With its own spin on scheduled tasks, Adaxes can take care of all chores in your directory and surprise you with how convenient it is to manage everything.
Scheduling workflows
For the sake of completeness, let's disassemble how scheduled tasks work in Adaxes. A task consists of a list of actions and a schedule. Each time the task runs, it executes its actions for each directory object within its scope. The twist is that a task has to target a specific object type. For example, if a task targets users, it will perform its actions for users and users only.
Such a task may cover multiple OUs, but it will skip anything that is not a user. Which makes sense, because you wouldn't want to perform actions designed for users on a stray computer, would you?
Speaking of actions, you can schedule all but a fraction of activities in your directory. Even more, you can schedule any manipulations with the users' Microsoft 365 accounts and Exchange mailboxes. For example, adding members to groups, disabling stale accounts, sending password expiration notifications, all this is possible.
You could argue that you could write a PowerShell script that does the same and schedule it using native tools, but there is a caveat...
What if you need to perform the scheduled actions differently for some users? What if you need to skip all actions if a user has a specific Microsoft 365 license? The time required to write such a script rises exponentially with its compexity, let alone the time required to introduce any changes to the script. Besides, making such a script log its actions means writing another hefty chunk of code. And most of the time it's necessary.
In Adaxes, we have already written all this code for you. Adaxes-based scheduled tasks can scrutinize every object they run on, and execute different actions or even skip all actions if the object doesn't fit your criteria. All the actions are logged and all the logic of your scheduled tasks is configured in a convenient interface.
Try scripting this, and you will quickly find out that you are writing hundreds of lines of code for a task that can be created with a couple of clicks in Adaxes.
Enhancing automation
All features of Adaxes are designed to work better in unison, and scheduled tasks are no exception. Each scheduled action can trigger a cascade of other actions with the help of business rules – automated events that Adaxes can fire after something happens in your directory.
A good way to illustrate this is by looking at the scheduled user import from a CSV file (yes, that's something you can easily do in Adaxes).
A scheduled task can regularly scan a CSV file for new entries and create user accounts in your directory accordingly. But it doesn't have to stop at simple user account creation – you can configure what should happen when such users are imported.
For instance, Adaxes can add the new users to the correct groups, assign Microsoft 365 licenses, create Exchange mailboxes, the sky is the limit. In fact, any action of any scheduled task can grow into a well-coordinated workflow that does what needs to be done without any user input.
If you think that such a chain of actions will be a complicated untraceable mess, you are mistaken. Scheduled tasks log every executed operation and every triggered business rule. You can view a detailed activity history of any task to quickly figure out what it did to a paticular user.
Besides, you can arrange for Adaxes to notify you if a particular operation executed by a scheduled task fails. This lets you act timely if something goes awry, without delving deep into the logs to discover what happened when it's too late.
Approvals for scheduled tasks
What if the workflow you want to schedule is so sensitive that errors are unacceptable? For example, inactive user deletion begs to be automated, but you need a guarantee that active accounts won't be accidentally caught in the blast. That's what approvals in Adaxes are for.
You can add an approval step to any operation of a scheduled task. For instance, the task reponsible for cleaning up inactive users may reset their passwords, disable accounts and move them to another OU, but the final step – deletion, will be halted until approval is granted.
Approvals for scheduled tasks provide reliable and actionable alerts that find you before anything destructive happens. This lets you automate literally any workflow without sacrificing control. Worst case scenario is you will have to spend a minute to read the notification email and click the Deny button to cancel the suspended operation.
Yes, scheduled tasks in Adaxes are by no means revolutionary. They are more of a refinement of an age old concept – a handy tool that you can use among other tools in Adaxes to turn automation up to eleven. It doesn't take much to configure a scheduled task. You just have to ask yourself where you want to start, be it inactive account cleanup, user import, or something else entirely.