Using Task Sequences Outside of OSD

One of the most useful tools that exists within SCCM is the Task Sequence. Often when we first use ConfigMgr we think of Task Sequences as being used in Operating System Deployment, and don’t get much further than that. At least I didn’t. However, the truth is that Task Sequences can go way beyond Operating System Deployments, can be deployed to any computer and can do some great things that can’t be done other ways.

So Why would I want to do that?

  1. So that you can link things together that normally can’t be linked together. Think about all of the things the Task Sequence is doing in an OSD scenario. Even the most basic OSD Task Sequences format the hard drive of your machine, install an OS, load drivers, and install applications. That is a huge variety of things that can normally not be linked together in ConfigMgr. Sure, It is possible to have an application install be dependent on another install. For example you can tell SCCM to install Salesforce for Outlook, but before it does that, make sure that the required C++ versions are installed. However that will only work if both your Salesforce for Outlook and C++ installs have been created as Applications (or Packages.) If for some reason one of your required apps installs better as a package, and your other installer is an application, they can not be linked together. However, if you create a task sequence, you can have it first install the required package, and then after that install the application you needed in the first place. It’s as simple as creating a two step task sequence one step for the package, and one step for the application.Screen Shot 2017-07-07 at 1.25.13 PMThe above screen shot uninstalls Java using a Package, and then installs Java using an Application.
  2. Do you have two applications (or an application and a package) that need to be run, but you need a reboot between the applications? Task Sequences can reboot a machine, and then continue on with the task sequence and with the steps that are following. We often use this when we are removing an older version of software (like say Office 2010) before installing the new version (Office 365) when the installer doesn’t clean up the old version. In this example our task sequence looks like this. We run the uninstaller app and restart, and when the computer comes back up it will run the installer application. Screen Shot 2017-07-07 at 1.26.03 PM
  3. Other more complex Task Sequence “things”. I will describe this in more detail in an upcoming blog post, but we also use task sequences to update the BIOS/UEFI on our machines quarterly. In this scenario, we run a task sequence step to disable Bitlocker on our laptops and Surface Pros, run the bios update software, reboot, and then reenable Bitlocker after the machine comes back up. Screen Shot 2017-07-07 at 1.27.16 PM

There are a couple of things to note about using Task Sequences in this way.

  1. Task Sequences, just like pretty much everything else that can be deployed in ConfigMgr, can be made to be available, or to be required. You can have them show up in Software Center to be run, or you can hide them from software center. They will show up as they are running with the “running task sequence” dialog box.
  2. Task sequences have a cool feature that allows you to download all of the task sequence steps before beginning. That means it won’t download the software from each step as needs it, it will cache it beforehand. This will be extremely helpful if the machines that are being installed to are on slower connections.
  3. As of ConfigMgr 1703, Task Sequences can only be assigned to computers or collections of computers. They can not be assigned to users or user groups. So remember it may take a little while for the Task Sequence to show up in the Software Center window.

That’s it for now, I will get into some of the nitty gritty of how we have done things like enabling Bitlocker remotely on laptops using a Task Sequence, and how we uninstalled Office 2010 and installed Office 365 on all of our user machines using a task sequence but that will have to be in an upcoming post.