2

SCCM administrators set maintenance windows for devices. Users set business hours for the same devices. It seems inevitable that maintenance windows and business hours will overlap. During that overlap, will SCCM perform the operations that support maintenance windows?

This technet blog post is the best resource I have found for understanding maintenance windows and business hours. It is, however, silent on the matter of overlap between the two.

alx9r
  • 1,643
  • 3
  • 16
  • 37

2 Answers2

1

From my understanding; (fairly new to SCCM 2012, been working with SCE 2010 for a while though) the elements in play here:

The Business Scenario

Let's say you are trying to deploy "Java 8 Update xx" to end user machines in a single device collection. Why? Because Java.

The two in question:

Business Hours: This is a rotating weekly calendar which the end user is allowed to configure. I.E. end-user Mary wants all software updates and installations to occur when she leaves the office at 5:00 PM on the days she works Monday through Friday.

She will go into the Software Center console and set her Business Hours like...

  • Monday 8:00 AM - 5:00 PM
  • Tuesday 8:00 AM - 5:00 PM
  • Wednesday 8:00 AM - 5:00 PM
  • Thursday 8:00 AM - 5:00 PM
  • Friday 8:00 AM - 3:30 PM (Mary likes to take off early on Fridays)
  • Saturday none
  • Sunday none

We will call this $BizWindow, it will evaluate to TRUE during the hours specified and FALSE when outside of the set time frame.

Maintenance Windows: This can be a Monthly, Weekly, or Daily schedule where the administrator is allowed to set a range of hours when an installation will be available to computers. These settings are configured at the Device Collection level.

  • Daily FROM 4:00 PM to 8:00 PM

We will call this $MaintWindow, it will evaluate to TRUE when it is 4:00 PM - 8:00 PM every single day.

Necessary Conditions:

So for the software to begin installing on the client device, the computer needs to meet two conditions:

1.) It is not in the Business Hours

2.) It is in the Maintenance Window

I.E.

     $BizWindow = FALSE && $MaintWindow = TRUE

So for the above example

Mary's computer will install Java during:

  • 5:00 PM - 8:00 PM Monday - Thursday
  • 4:00 PM -8:00 PM Friday (Because of Mary's slightly shorter day on Friday)

Honorable Mentions

When publishing Apps and Packages, there is a way to supersede any sort of Maintenance Window and Business Hours rules in the deployment settings. Then the software will become available/install immediately after it has been distributed to the respective DP's and the SCCM client updates the list.

Hope that helps.

  • Did you test the "necessary conditions"? [I'm pretty sure they're wrong](https://serverfault.com/a/700347/115232). – alx9r Jun 19 '15 at 20:39
  • I am curious now that you mention that, because I have never had to test those conditions. It has just always worked the way I intended when I operated under those assumptions. I am curious though @alx9r; on your chart, when you say TRUE for InBusHours; do you mean, when Business Hours are TRUE as defined by the user (or defaults)? – Get-HomeByFiveOClock Jun 22 '15 at 13:11
  • When I ran the tests, the business hours had not been changed from the defaults. Why would that make a difference? – alx9r Jun 22 '15 at 13:17
  • Because there are a couple of special conditions in which SCCM will not respect Business Hours and begin an install regardless of whether or not the Business Hours are set and you **are** in them. Otherwise, SCCM will respect the wishes of the end user and **not** install anything when you **are** in Business Hours. If you could start a quick chat, I'd love to get to the bottom of this. – Get-HomeByFiveOClock Jun 22 '15 at 13:31
  • What are the "special conditions"? – alx9r Jun 22 '15 at 13:48
  • For instance (I'm pretty sure there are other examples but I can't think of them now): an application/package deployment targeted at your collection reaches it's installation deadline; then it will install in the maintenance window *regardless* of when the Business Hours are set. This will happen if you configure it to in the deployment properties on a per-package basis. – Get-HomeByFiveOClock Jun 22 '15 at 18:08
1

Empirical Results

I just ran a few tests to see how SCCM behaves. The results are as follows:

Test InBusHours InMaintWin UserLoggedIn OpsRun
---- ---------- ---------- ------------ ------
1          True      False        False  False
2          True       True        False   True
3          True       True         True   True

Note: All of the above tests were run after the "available time" with the installation deadline set to "As soon as possible after the available time."

The rule seems be as follows:

During times when business hours and maintenance windows overlap, operations that support maintenance windows are performed.

alx9r
  • 1,643
  • 3
  • 16
  • 37