Windows 10 1903 Readiness SCCM Configuration Baseline
BLOG POST HISTORY
- 2019-06-05 – Updated blog post to reflect Windows 10 1903
To start with, I would like to mention that I will continuously be updating this blog post to reflect the current state of Windows as a Service.
When moving to new builds of Windows 10, you will need to make sure that they are compliant for the upgrade. In this blog post, I will provide a Windows 1903 Readiness SCCM Baseline that you can use to make sure that devices are compliant. The idea is that you will be able to re-use Configuration Items for each new Windows 10 build.
I have experience with both In-Place Upgrade scenarios as well as the deployment of Feature Updates. With In-Place Upgrade Task Sequences, you can make the required steps as part of the Task Sequence.
When using a Feature Update, however, you will need to deploy the dependencies before the upgrade. It is possible to add custom actions as part of the Feature Update, but in most cases, it makes things more complicated. You can read more about this here:
Instead of upgrading applications or drivers as part of the Task Sequence, it is recommended to upgrade these before delivering the upgrade. This is true for both In-Place Upgrade Task Sequences as well as Feature Update deployments.
Most of the errors that I have seen when upgrading are related to different criteria not met.
To find compliance issues, you can and should do the following:
- Use Upgrade Readiness to find non-compliant applications or drivers
- Contact vendors to see if they are ready for the new Windows 10 build
- UAT testing of applications
Some of the things you will need to check:
- Hardware is compliant
- Drivers are compliant
- Applications are compliant
THE SCCM CONFIGURATION BASELINE
WHAT IS AN SCCM CONFIGURATION BASELINE?
An SCCM Configuration Baseline consists of one or a combination of the following:
- Configuration Items
- Software Updates
- Other Baselines
When creating SCCM Configuration Baselines you will want to make them as modular as possible, so each Configuration Item that is included can easily be removed and new ones added as the requirements change.
For more information about SCCM Configuration Baselines refer to Microsoft Docs: https://docs.microsoft.com/en-us/sccm/compliance/deploy-use/create-configuration-baselines
WHAT SHOULD BE INCLUDED IN THE BASELINE?
The following Configuration Items should be part of a Windows 10 1903 Readiness Configuration Baseline:
- Driver version
- Application version
- Cleanup of Software Distribution folder
- Free space
- Latest Servicing Stack Update
For more information on how to configure this Configuration Item, refer to my previous blog post.
If there are compatibility issues with an old version of an application, we will need to check this.
WHAT IS A COMPLIANCE COLLECTION?
The reasoning behind using compliance collections is that we can be sure that machines which are not compliant are targeted.
Fewer errors = Fewer headaches.
A compliance collection should include the following:
- Devices should already be running Windows 10
- Devices that are compliant with the Baseline
- Latest Servicing Stack installed
A compliance collection should exclude the following:
- Devices that are part of an Exclusion collection
This collection should also be configured with a limiting collection containing only Windows 10 machines as we are only targeting devices for the upgrade to new builds.
Some devices might need to be excluded for different reasons. I would suggest placing these machines in an AD group,
Using SCCM Configuration Baselines together with compliance collections is a good way of controlling your path to new Windows 10 builds.
Follow the steps described above, and if you have any questions, feel free to reach out to me.
- Configure HP BIOS settings using the HP BIOS Configuration Utility (BCU) and SCCM
- Create SCCM Maintenance Window based on Patch Tuesday
- The ultimate SCCM resource post
About the author
Daniel Classon works as a Senior Consultant at Mansoft, focusing on Microsoft Configuration Manager, Windows 10 and Powershell