In Configuration Manager, maintenance windows provide administrators with an effective means of managing client computer changes. However, it is critical that administrators be aware of the possible conflict that can occur between the maintenance windows and the Maximum allowed run time setting on advertised programs.

When a client computer has a maintenance window policy set, the following evaluation is made before an advertised program is be launched by Configuration Manager:

If the answer is yes, the advertised program will run; if not, Configuration Manager will wait until the next scheduled maintenance window in which there is sufficient time available.

Important
Any advertised program will fail to run when the maintenance windows that are defined on the client computer are set for a period less than that program's Maximum allowed run time setting.

Program Run Sequences

Advertised programs are typically run in the order in which they are downloaded to the client computer, based on the advertisement start time and assignment time (if the program is mandatory). However, when maintenance windows are used, this order might not be followed.

When a maintenance window is in place, a program will only be launched according to the available time evaluation. If time remains in the maintenance window after the program is complete and additional programs are queued for launch, Configuration Manager will evaluate the next program in sequence. If the evaluation is positive and there is enough time available to run this program, it will be launched. If the evaluation is negative and there is insufficient time within the maintenance window to run the program, Configuration Manager will then evaluate the next program in sequence, leaving the skipped program to be run in the next maintenance window with sufficient available time. If necessary, this process will be run on all programs that are queued for launch.

When the Maximum Allowed Run Time Option Is Unknown

If an advertised program has the Maximum allowed run time option set to Unknown, however, the available time evaluation proceeds differently. Although an Unknown setting is evaluated by Configuration Manager as 12 hours, this is for monitoring purposes only. When determining whether there is sufficient time to run a program within a given maintenance window, a setting of Unknown is evaluated as 0 minutes, regardless of whether the program actually takes 1 minute to run or 3 hours.

As a result, a program with the Maximum allowed run time set to Unknown will start running during a maintenance window that has even 1 minute available and can continue to run even if it finishes outside the designated maintenance window.

Note
In determining whether a program with the Maximum allowed run time set to Unknown will run during a maintenance window, the countdown duration set for the Advertised Programs Client Agent will still be considered.

Sample Program Sequence Scenario

The following scenario provides an example of the sequences in which programs could run on a client computer subject to a daily one hour maintenance window. Each of four programs have a mandatory schedule, and are scheduled to be installed only once on Sunday at 1:00 P.M. There is a maintenance window available every day at 5:00 P.M. for one hour. Each program requires the installation time as specified in the MaxRunTime field. The countdown duration is set to zero (0).

The following table indicates when each program will actually be installed.

Sunday Monday Tuesday Wednesday Thursday Friday   Saturday

Program 1

(30 min.)

5:00 P.M.

(1)

Program 2

(45 min.)

5:00 P.M.

(2)

Program 3

(90 min.)

(3)

Program 4

(Unknown)

5:30 P.M.

(4)

(1) Program 1 runs on Sunday at 5:00 P.M. because there is sufficient time for installing the program based on the rule evaluating to true: (Remaining maintenance window duration – Countdown >= MaxRunTime of Program 1) or (60 – 0 >= 30).

(2) Program 2 does not run on Sunday because the rule evaluated to false: (Remaining maintenance window duration – Countdown >= MaxRunTime of Program 2.) or (30 – 0 >= 45). It will run on Monday at 5 P.M. because there is sufficient time for installing the program based on the rule evaluating to true: (Remaining maintenance window duration – Countdown >= MaxRunTime of Program 2) or (60 – 0 >= 45).

(3) Program 3 does not run on Sunday because the rule evaluated to false: (Remaining maintenance window duration – Countdown >= MaxRunTime of Program 3.) or (30 – 0 >= 90). In fact, Program 3 will never run because there is insufficient time for installing the program based on the rule evaluating to false: (Remaining maintenance window duration – Countdown >= MaxRunTime of Program 3) or (60 – 0 >= 90). When this program does not run, Configuration Manager evaluates if it will ever run and because the rule always evaluate to false, the program will fail on Sunday.

(4) Program 4 runs on Sunday at 5:30 P.M. because there is sufficient time for installing the program based on the rule evaluating to true: (Remaining maintenance window duration – Countdown >= MaxRunTime of Program 4) or (60 – 0 (because Unknown is resolved to 0) >= 0).

Note
Although the actual run time of Program 4 exceeds the length of the maintenance window, Configuration Manager will stop the program only if it is set to run with administrative rights and the allow users to interact with this program setting is not selected. Otherwise the program will not be stopped and will continue until the program completes or fails.

See Also