adTempus 4.9.0.0 Release Notes

4.9.0.0

Released September 8, 2022

Enhancements

General
adTempus recompiled to use .NET Framework 4.8
adTempus has been recompiled to target version 4.8 of the .NET Framework. This was required to support newer TLS security protocols. To use this update you must update the .NET Framework on your computer to version 4.8 if you currently have an older version.
Support for OAuth2 authentication using Microsoft identity providers
Support for authenticating using OAuth2 has been added for users who use adTempus to connect to Microsoft mail platforms (Exchange Online/Office 365/Microsoft 365).
Job Execution
Ignore shell associations for certain file types
adTempus has been modified to ignore shell associations when running targets with the following extensions: .exe, .com, .bat, .cmd. This ensures that adTempus will always execute targets of this time even if the shell association has been altered. For example, if you change the shell settings for the .bat extension so that the default action is to edit the file (rather than execute it), in previous versions of adTempus this would result in adTempus launching the associated editor instead of executing the batch file. With this change, adTempus will ignore the shell association and execute the batch file.
Email Trigger changed to ignore pre-existing messages
The Email Trigger has been changed so that by default a trigger will ignore all messages that are already in the mailbox the first time the trigger connects to the mailbox. Before this change, each new trigger would process all existing messages in a mailbox, which could lead to unexpected triggers and also lengthy processing delays in cases where the mailbox had a large number of messages to be processed.

The original behavior (process all existing messages) can be restored by changing the "EmailMonitor:MarkAllSeenOnFirstRun" option to "false" in Advanced Server Options.


Fixed Issues

Conditions
Job Condition for "Job has not run" does not work correctly
If a Job Condition is configured with the rule "Job has not run," the condition may be satisfied even though instances of the target job have run.
Console
Fix for error when connecting to non-default remote instance of adTempus
Console fails to connect to non-default instance of adTempus on another computer with error "This may occur if the adTempus server is in a different domain" even when server is in same domain. This problem is possibly related to recent Windows security update for CVE-2022-21920. The problem was resolved.
Distributed Scheduling
Master server issues error and fails to execute some Job Control Action commands
When a job running on an Agent executes a Job Control Action, in some cases the command is sent to the Master for execution. When this happens the Master fails to execute the command and logs alert 5406 for the job:

An error occurred while executing a request for Agent XXX: Object reference not set to an instance of an object. Please contact technical support for assistance.

This problem was resolved. The update must be applied to the Master instance of adTempus but is not required for the Agent.
For more information see article K00000608.
General
adTempus service fails to start if Windows performance counters are corrupted
If the Windows performance counter database becomes corrupted, the adTempus service fails to start. This problem was resolved so that adTempus ignores the performance counter errors.
For more information see article K00000607.
Job Execution
Database task may generate excessive database connections
When you use a Database Task to run operations against a database, adTempus may fail to properly reuse connections to the database, causing the number of connections to grow in scenarios where many database tasks are being run frequently. This was corrected so that connections are properly reused. You will still see a separate database connection for each concurrently-executing database task, and those connections may remain for up to 10 minutes after the task completes. New tasks executed in that interval that use the same database and user identity will now reuse the existing connection rather than creating a new connection.
When job runs under built-in Administrator account, adTempus may log warning that user isn't an administrator
adTempus may log warning ADT005458 ("Job is configured to run with Administrator privileges but user .\administrator is not an Administrator. The job will run with normal privileges.") even though the user is an Administrator. See article K00000611 for more information.
Scheduling
"Nearest" floating rule does not work correctly
When a Date Rule is configured to run on the day "Nearest" to "a specified day" (defined by another Date Rule), the Console does not save the setting correctly, so the rule does not match any days and does not trigger correctly.
Scripting
Inline function execution fails if function arguments contain "%"