First published on CloudBlogs on Mar, 28 2012 by the Microsoft System Center Configuration Manager Team I wanted to answer a question that’s come up a lot with customers over the last several months: How do business hours and maintenance windows differ or relate to each other in Configuration Manager 2012? To clarify this, I’ve provided some definitions and timelines, which will refer to two users: Melissa, an end user, and Meg, the ConfigMgr administrator. Definition #1 Deadline: the time that a deployment installation will be enforced. Melissa cannot postpone software to be installed after the deadline. The system is designed to provide guarantees to Meg that she can rely on software being installed at the deadline. However, deadlines can be missed if:
The computer was not powered on at the time the deadline was reached.
A maintenance window was scheduled for the machine and the deadline was reached before the maintenance window was available.
Definition #2: Maintenance Windows – A maintenance window is a period of time reserved to perform software deployment tasks. Specifically, software deployments, software update deployments, and operating system deployments will only run during a maintenance window when one is defined for a collection of devices. Maintenance windows in System Center 2012 Configuration Manager behave the same as in Configuration Manager 2007. In Configuration Manager, you add a maintenance window by modifying the properties of a device collection. For this example, let’s have a weekly repeating maintenance window start at 8 am on Saturday and end at 6pm on Sunday. Figure 2 - Deferred Installation Our deployment has a deadline of 5pm on 1/19. Notice that there is no available maintenance window available at a deployment’s deadline! So, the system automatically defers the deployment and schedules it to run at the next available maintenance window. Figure 2 - Deferred Installation is an example of this. The deadline was at 5pm on 1/19, but since the next available maintenance window wasn’t until 1/20 at 8am, the deployment gets deferred to 8am on 1/20. Definition #3 Business Hours: Business hours are a period of time that an end-user normally does their daily work. You can think of business hours as the period of time that Melissa would say: “Computer… don’t bother me, I’m trying to do my job!” The default business hours for all computers are 5:00 am – 10:00pm, Monday through Friday. Figure 3 - Business Hours below shows how business hours are configured in Software Center on client computers. Figure 3 - Business Hours I’ll refer to the period of time outside of business hours as “non-business hours.” Non-business hours are the period of time when Melissa doesn’t care if system maintenance is done on her computer because she would normally not be working on their computer at that time. We purposely gave a longer length of time for business hours by default (5 am to 10 pm) to cover situations when people come in early to work or leave late. Both maintenance windows and non-business hours are periods of time when it is best to do a software deployment because the system is expected to be idle. So, let’s see what our timeline looks like with our software deployment scheduled for 5pm on 1/19. (Figure 4 - Business Hours with Deadline) Figure 4 - Business Hours with Deadline As it turns out, the deadline for our deployment is right in the middle of the user’s business hours! That’s not good for the user, because Melissa really wants to ensure that the software installation doesn’t interrupt her work. So, let’s add one more element to our deployment – the “Available After” time. When Meg defined the software deployment, she specified when the deployment becomes available to client computers. For our example, let’s set the “Available after” time to be on 1/16 at 2 pm. (Figure 5 - Deployment Available Time) Figure 5 - Deployment Available Time The “Available After” time triggers a Software Center notification indicating that new software is required to be installed. When Melissa clicks on the notification, she sees a dialog box where she can choose her installation options. If she clicks “Install now,” the software will install immediately. Even though the deadline wasn’t until a few days from now, Melissa had decided that now was a good time. If Melissa clicks “Install Later” – the software installation time gets deferred to the next available “non-business hours” time. In our example, that means that she has now scheduled the software to install at 10:00 pm on 1/16. And, assuming the computer is on and running at 10:00pm, the software will install at that time. See Figure 6 - Deferred Installation for that example. Figure 6 - Deferred Installation If Melissa simply ignores the notification, or closes the installation options dialog without choosing an installation option, the deployment will sit “idle” until one of three things happens:
Melissa installs the software from Software Center by clicking the “Install” button for the software.
Melissa schedules it to install during “non-business hours” by clicking the “Schedule” button from Software Center.
The deadline is reached.
Melissa could also right-click the notification icon at any time and click “View Required Software” to re-display the installation options dialog. Now, let’s say Melissa really doesn’t want to be bothered with all these notifications, and she just really wants the software to install when she’s not working. Software Center offers an automatic installation option (Figure 7 - Automatic Installation Option.) By selecting the option “Automatically install or uninstall required software and restart the computer only outside of the specified business hours,” any required software that is deployed to the computer will install at the next available “non-business hours” time. Figure 7 - Automatic Installation Option Going back to our example, if the “automatic install” option is selected, the installation will start at 10:00 pm. (Figure 8 - Automatic Installation). Figure 8 - Automatic Installation For the last section, assume that we have both a maintenance window defined (as earlier) and the device has business hours set. Meg has set her deployment deadline as 5pm on 1/19. Meg has made the deployment available at 2pm on 1/16. The merged timeline is shown in Figure 9 – Merged timeline. Figure 9 - Merged Timeline What happens next really depends on our end user, Melissa. Once she is notified of new required software, she has four choices about how to handle the required software deployment. She can:
Install the software now. In this case, both “non-business hours” and maintenance windows are ignored. The software will install immediately.
Install the software “later.” In this case, the software becomes scheduled to install after the current business hours are over. In other words, it starts installing at 10:00 pm on 1/16.
Do nothing. If Melissa closes the dialog, or if she indicates she wants to be reminded later, Software Center does not schedule the installation. If this condition continues on until the deadline (in other words, the user has taken no action to schedule or install the software), the software will get to the deadline and check for a maintenance window. At that point, the deployment will wait until the available maintenance window before installing. So, the deployment will install at 8am on Saturday.
Select the “Automatically install” option in Software Center. In this case, the software becomes scheduled to install after the current business hours are over. In other words, it starts installing at 10:00 pm on 1/16.
So to recap, maintenance windows and business hours are targeted to two different audiences. Administrators (Meg) configure Maintenance Windows to prevent software from installing except during a specific period of time. End users (Melissa) set business hours to indicate when they prefer software to install ahead of the deadline so that it doesn’t interrupt their work. I hope this helps answer some of the common questions you might have around business hours and maintenance windows! Dave Randall Sr. Program Manager System Center Configuration Manager