Friday, May 15, 2009

SCCM Deployments With Maintenance Windows : Part I

Maintenance Windows in SCCM 2007 can provide a powerful means of deployment management. However, as with all power, it can be used for evil and/or good. A thorough understanding of Maintenance Windows is critical prior to implementation in a production environment. One mishap can potentially cause a serious outage, and have Change Management looking for you. My hope is that between Part I, Part II and Part III, I'll help fellow SCCM Admins better understand Maintenance Windows, and, hence, avoid some of the pit-falls that most texts seem to leave out.

The idea behind Maintenance Windows is that you can create a Collection of Clients and apply a "window", during which those Clients can be brought into compliance with a certain baseline. In order to utilize a Maintenance Window, you create Advertisements and/or Software Updates Deployments that do not have an expiration. Assuming the mandatory assignment is in the past, once the Maintenance Window begins, the Clients will begin executing the various Programs and/or Software Updates that have been assigned. Sounds simple enough, right? Well, they're tricky.

The first thing to understand is that Maintenance Windows are not per Collection, but, rather, per Client. What this means is that while you set the Maintenance Window at the Collection level, it applies to the Clients in that Collection. A simple example will help illustrate this. Say we have three Clients, Client1, 2 and 3, and three Collections, Collection1, 2 and 3.
  • Client1 is in Collection1 and Collection2

  • Client2 is in Collection1 and Collection3

  • Client3 is in Collection1

  • Collection1 does not have a defined Maintenance Window

  • Collection2 has a Maintenance Window defined as the 1st of every month from 3AM to 5AM

  • Collection3 has a Maintenance Window defined as every Saturday from 3AM to 5AM
So, what happens if I create an Advertisement with a mandatory assignment of 8:00PM on June 30, 2009 (a Tuesday) and send it against Collection1 and do not set it to "Override Maintenance Windows"?

  • Client1 will execute at 3AM on July 1, 2009 because of the Maintenance Window defined for Collection2.

  • Client2 will execute at 3AM on Saturday, July 4th because of the Maintenance Window defined for Collection3.

  • Client3 will execute at 8:00PM on June 30, 2009, because it is only in Collection1, which does not have a Maintenance Window defined.
What happens if while creating the Advertisement above, I set an Advertisement expiration to 12:00AM on July 1, 2009? Client1 and Client2 never execute the advertised program, while Client3 executes at the mandatory assignment time of 8:00PM on June 30, 2009.

In conclusion, the following points should be noted:

  • Maintenance Windows are per Client, not per Collection

  • A deployment advertised to a particular collection does not abide solely by the Maintenance Window defined for that collection

  • A Client with an undefined Maintenance Window will execute at the Mandatory Assignment

  • The duration of your Maintenance Window must be long enough to cover the accumulative Maximum Run Time

Continue to Part II...

2 comments:

  1. I think readable post you. It is really very helpful from with me thank for sharing it.

    WINDOWS REPAIRS

    ReplyDelete