ConfigMgr 101: Maintenance Windows

Welcome to ConfigMgr 101. This series will be focusing on ConfigMgr 2012, and helping you get the best out of the product using features you may have not looked at in ConfigMgr 2007 or features which are new in ConfigMgr 2012. Our first post looks at the maintenance windows concept, how to use them, what they are and why you should use them.

In a nutshell, maintenance windows do exactly what they say on the tin. The maintenance window helps you define a set period of time when configuration changes can be made to systems while not impacting the productivity of your business. The following features support the use of maintenance windows.

  • Software deployment
  • Software update deployment
  • Compliance setting evaluation and deployment
  • Operating system deployments
  • Task sequence deployments

Maintenance windows are configured on a per collection basis and consist of a start time, end time and recurrence pattern. The only real rule for maintenance windows is that you must define the maintenance window of less the 24 hours. Since ConfigMgr 2012 restarts caused by deployments are not allowed outside of maintenance window hours however you can override these settings on a per deployment basis. Maintenance windows affect only the time when the deployment program runs, applications configured to download and run locally can download content outside of the maintenance window.

Multiple Maintenance Windows

So now we know what a maintenance window is, what features support them and how they work. The next step is to look at instances when we have multiple maintenance windows. Imagine the following scenario which is common in a live environment, we have a machine LAB1 which is a member of two collections which both have maintenance windows, which one takes priority or how does that work?

Well, these simple rules apply for when this situation arrises:

  • If maintenance windows do not overlap then they are treated as separate maintenance windows
  • If the maintenance windows do overlap, it will be treated as a single maintenance window including all the time covered by both maintenance windows. For example, if you have two maintenance windows both an hour-long which overlap by 30 minutes, then the duration will be 90 minutes

When a user initiates an application installation from Software Center, the application is installed immediately, regardless of any configured maintenance windows.

If an application deployment with an intent of required reaches its installation deadline during the non-business hours configured by a user in Software Center, it is installed regardless of the configured non-business hours.

Configuring Maintenance Windows

Setting up maintenance windows could not be easier. Simply right-click a collection and then go to Properties. Click the Maintenance Windows tab where you will be presented with the place where the magic happens. Click the starburst button to create a new maintenance window.

Configure your maintenance window as required, in this example we are setting the window between 01:00 and 04:00, we are also running the window on a monthly schedule on the last Friday of the month. We also leave the box for UTC un-ticked, this is so we can apply the maintenance window in the local time in the country where the machine is located.

We now have a maintenance window. If you want another one then go ahead and create them. This is basically all you need to do. From here schedule your deployments and you will see in the Software Center that it is now ready and waiting.

This concludes the first post in my ConfigMgr 101 series, hope it answered some questions for you. Next we will be looking the user-centric application model, how business hours work and much more.


Tags: , , ,

About Martyn

Martyn is one of the Senior Cloud Architects and DevOps Team Leader at one of the worlds leading Cloud Transformation Specialists Inframon. Martyn is responsible for the architecture of some of the largest Azure deployments in EMEA and is a advisor to a many businesses on their strategies. Martyn is a regular speaker at Microsoft events and community events on Azure and DevOps, giving his insight to a growing number of audiences.

29 responses to “ConfigMgr 101: Maintenance Windows”

  1. Kathy says :

    Is there a log on the client that shows what its maintenance windows are? I know I can run a report on the server to show me, but what if a server admin, who doesn’t have access to the console, wants to know what his/her server’s maintenance windows are?

  2. jay says :

    Hi Martyn,

    In our environment we will do ms patches on 3rd week of the every month and we have checked in monitoring tab patching was successfull but after 2 weeks the server has been restarted by ccmsetup.exe, in maintainance windows we have select recurrence pattern as weekly once. If patches failed on the server on 3rd week then it should restart in 4th week atleast. but it has been restarted after 2 weeks

  3. Anna says :

    Darren… Did you solve your problem with automatic updates and maintenance windows with SCCM 2012? I think I have the same kind of issue.

  4. Jean-Sebastien Frenette says :

    Hello Martyn,

    you might be able to help me.

    I have a computer which is part of a collection. In that collection is a maintenance window on each saturgay from 2am to 3am.

    I have deployed windows update to another collection which this computer is also part of, that collection doesn’t have any maintenance window.

    In the deployment settings, the deadline behavior are untick (software updates installation and system restart).

    I have a deadline on next monday. (2014-05-19) at 7am.

    The installation is scheduled for monday 2014-05-19 at 7am in the software center on the computer, which is outside of the maintenance window…

    I also have another computer in the same collection on which I manually made the installation. Now, it says it will restart the computer on 2014-05-19 at 7am, instead of the maintenance window.

    When checking the collection which this computer is part of, there’s no other maintenance window.

    Thank you

  5. Harjit Dhaliwal (@hoorge) says :

    I’m trying to set Maintenance Windows for the ‘All Desktops and Server Clients” collection but the Starburst button is grayed out. Any ideas?

  6. Dustin Peet says :

    I setup a Maintenance window on a collection where I had a task sequence deployed. The task sequence (OSD) was set to not even be available until today at 11:00am and dealined for 12:30pm. The window was set for 12:30pm until 10:00pm. This was all setup yesterday in an attempt to have 16 machines image today, but not until 12:30 as they needed to work on things prior to that. When they started their machines this morning the OSD task sequence took off. I’m not sure why… It was still under a maintenance window and it shouldn’t have even seen the task sequence until 11:00am. Any ideas on this one?

  7. Darren says :

    Hello, Please can someone tell me if this scenario will work, I have server patching groups that run weekly through an Automatic Deployment rule for Updates to the servers, this occurs on Sundays at 3 a.m. (Updates Installed) – if on the device collection I set a maintenance window for Monday Morning 1 .a.m – 3 .a.m so the servers can restart will this work? So in summary updates install on Sunday Mornings and I want any restarts to happen on Monday Mornings? I also at the moment have suppress restarts ticked but I am assuming once the Maintenance Window is setup this overides this?

    Thank you


    • Martyn says :

      Hi Darren, if you tick override reboots then even in a maintenance window I don’t think it will reboot. I’ve not tried that specific situation so can’t say for certain. I would run it on some test servers first to see what happens.

      • Darren says :

        Morning Martyn, Thanks for your reply, I wondered if you could throw any light on the server restarts, for some reasons we cannot get the servers to restart during the designated maintenance window, we have a automatic deployment rule that runs:
        Collection – Test and Dev Servers, mix of 2003 and 2008
        Add to an Existing software update group checked
        Evaluation Rule every 1 week
        Deployment Schedule – time baded on UTC
        Software available time – ASAP
        Installation Deadline ASAP
        User Experience – Display and only show for computer restarts
        Deadline Behaviour – Allow Software Installation outside of Maintenance window – Checked (This was a suggestion from a Forum)
        System Restart to be allowed outside a maintenance window (Unchecked)
        Restart Behaviour – Unchecked for servers as this is what its targeting

        I read on technet that I have to make sure the client settings applied to the servers have to have settings lower than the maintenance window for notifications

        “When you specify these computer restart settings, ensure that the value for the restart temporary notification interval and the value for the final countdown interval are shorter in duration than the shortest maintenance window that is applied to the computer.”

        So I have done this also and Targeted the settings at the Test and Dev collections – Updates do install on the servers but something is blocking the restarts? One other person mentioned disabling the local configure automatic updates on the servers with a GPO which I have done also – as they said this can superseed SCCM at managing restarts. Tried all of these but something is stopping still.

        Any help or light anyone can shed or suggestion to try would be much appreciated.



  8. John says :

    Thanks for the great writeup. I’ve been using SCCM 2012 for a little while, but just came across something I haven’t seen. I had a deployment scheduled for a particular weekend. However, something came up and we had to delay. I unchecked the maintenance window, so that it wouldn’t be enabled and verified that the deployment settings wouldn’t do any installations or reboots outside of the window. However, the deployment ran anyway! Any ideas on why that might have happened, or how we can prevent it in the future?


    • Martyn says :

      Hey John,

      Did the machine belong to another collection with another maintenance window that made it run? You can check the logs on the client to see what happened.


      • John says :

        Yeah, I’d checked – no other windows. The only thing that I can think of (and I think this is what happened) is the policy retrieval cycle didn’t run in time for the clients to “learn” that the window had been disabled. I know how to manually kick that off, but do you know if there’s a way to change that default retrieval cycle setting? So that instead of doing it every week, I could have that run every day, or whatever.

      • Martyn says :

        The default policy retrieval is 60 minutes, you can change it in the client settings node under the Administration workspace.

      • John says :

        Thanks. I’ve got mine set to 15 minutes, but it looks like that’s not working quite right, since the logs indicate it’s only happening once a week on its own. I’ll do some digging and see if I can find out why. I appreciate the help!

      • Martyn says :

        I think we are talking about two different things, policy retrieval is for client settings and distributions etc.

  9. Charlotte Patin says :

    Thank you for your quick reply.

  10. Charlotte Patin says :

    I have what is probably a very basic question, but I am new to SCCM. If you have a maintenance window defined for a collection, what does SCCM do with the regular schedule tab in the deployment wizard? If I tell it to make it available ASAP, will it download to the client, and then wait to install it during the maintenance window? I am trying to get my head around this. Thank you.

    • Martyn says :

      Hi Charlotte, spot on, if you select “as soon as possible” in a software update or similar anywhere else it will wait for the maintenance window to open.

      • Raj says :

        I select ” as soon as possible” option, but it not installed under maintenance window…updates installed as per deadline schedule….i am using required update option.

        Not check on any box for installing updates on outside maintenance window.

        What was the issue?

      • Martyn says :

        I’m sorry I don’t understand what your problem is.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: