Handy Windows 11 Collections for Configuration Manager

post-thumb

Are you ready for Windows 11? No? Why not? Windows 10 deadline is fast approaching - just look at the title image its already starting to fade away… I kid you not October will be here quick as a flash and there’s much to do. Recently I’ve had a couple of Configuration Manager customers, starting their journey to Windows 11 and as a result I thought I’d create this short blog post on some useful Configuration Manager collections I’ve used to aid my customers on their journey.

A well-structured deployment strategy is crucial for a smooth rollout, and some customers still use Microsoft Configuration Manager (SCCM/MEMCM) which plays a strong role in certain upgrade plans. As with dynamic membership rules in Intune, one of the most powerful tools within Configuration Manager is its ability to create dynamic device collections from a massive plethora of conditions, allowing IT teams to segment and control deployments with more precision.

In this quick post, we’ll cover a set of essential collections to streamline your Windows 11 migration (and I would love to hear about any you want adding!) and the flow to populate them by the compatibility markers. It is not another blog post on approach, if you ask me I just say ‘create the feature update policy deploy it immediately to everyone in the business and fix forward’ but as a consultant I don’t have to deal with the hell-fire that comes from doing that.

The following includes collections for identifying eligible devices based on Upgrade Eligibility Markers, grouping machines by Windows version, and leveraging limiting collections to maintain deployment control. I’ll also drop some hints about approaches to using these collections for phased rollouts. By implementing these collections effectively, I was able to ensure a structured and efficient transition to Windows 11 for my customers.

Collections

Below is a list of collections you may find useful

Any Windows 10 device
SELECT SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client FROM SMS_R_System INNER JOIN SMS_G_System_OPERATING_SYSTEM ON SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceIdWHERE SMS_G_System_OPERATING_SYSTEM.Version LIKE "10.0.1%"
Windows 11 - 21H2 Devices
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client 
from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId 
where SMS_G_System_OPERATING_SYSTEM.Version = "10.0.22000"
Windows 11 - 22H2 Devices
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client 
from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId 
where SMS_G_System_OPERATING_SYSTEM.Version = "10.0.22621"
Windows 11 - 23H2 Devices
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client 
from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId 
where SMS_G_System_OPERATING_SYSTEM.Version = "10.0.22631"
Windows 11 - 24H2 Devices
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client 
from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId 
where SMS_G_System_OPERATING_SYSTEM.Version = "10.0.26100"
Devices that are eligible to install Windows 11 22H2
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client
from SMS_R_System inner join SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS on SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.ResourceID = SMS_R_System.ResourceId
where SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.UpgExProp = "Green" and SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.Version = "NI22H2" and SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.UpgExU = "Green"
Devices that are eligible to install Windows 11 23H2
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client
from SMS_R_System inner join SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS on SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.ResourceID = SMS_R_System.ResourceId
where SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.UpgExProp = "Green" and SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.Version = "NI23H2" and SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.UpgExU = "Green"
Devices that are eligible to install Windows 11 24H2
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client
from SMS_R_System inner join SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS on SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.ResourceID = SMS_R_System.ResourceId
where SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.UpgExProp = "Green" and SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.Version = "GE24H2" and SMS_G_System_UPGRADE_EXPERIENCE_INDICATORS.UpgExU = "Green"

The upgrade experience indicators are triggered by the “Microsoft Compatibility Appraiser” scheduled task. if you are missing some devices in your collections its likely that you are going to have to come up with a way to trigger this and get those devices to check in to drop into the collections correctly, that will allow you to breakdown how you are going to target your feature update policies.

Name Description
Prereqs Telemetry must be enabled. Check the registry under HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection the property AllowTelemetry must be set to 1.

Hardware inventory must be enabled, collecting the class SMS_UpgradeExperienceIndicators
Microsoft Compatibility Appraiser It runs sc.exe with the switch start InventorySvc. Task Scheduler > Task Scheduler Library > Microsoft > Windows > Application Experience > Microsoft Compatibility Appraiser
Default Schedule Once per week
How to Trigger it [PowerShell to run the scheduled task]
Start-ScheduledTask -TaskPath "\Microsoft\Windows\Application Experience\" -TaskName "Microsoft Compatibility Appraiser"

[Trigger hardware inventory to collect the data]
Invoke-WmiMethod -Namespace root\ccm -Class SMS_Client -Name TriggerSchedule -ArgumentList "{00000000-0000-0000-0000-000000000001}"
What gets populated The following regkey: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\TargetVersionUpgradeExperienceIndicators

There is a local .bin file that gets populated too (%ProgramData%\Microsoft\Diagnosis) but Configuration Manager doesn’t care about this.

Ok now we understand what the Compatability Appraiser does, the data collected by Configuration Manager in the SMS_UpgradeExperienceIndicators class is as follows

Attribute Description
AppraiserVersion DB version used
Version Target Windows release (CO21H2, NI22H2, GE24H2, etc.)
UpgExProp “property” readiness (Green/Yellow/Orange/Red)
UpgExU “upgrade” readiness (Green/Yellow/Orange/Red)
Reason Which check(s) failed (e.g., CpuFms, Tpm, etc.)
TimeStamp When the assessment ran

UEI color codes and meanings

  • Green: Ready for upgrade.
  • Yellow: App uninstall/update needed.
  • Orange: App or driver upgrade required.
  • Red: Cannot upgrade (hardware block, TPM missing, etc.)
  • The Reason field gives the specific blockers: CPU issues, TPM, UEFI Secure Boot, low disk/RAM, incompatible drivers/apps, etc.

Summary flow

  • Telemetry & Compat Appraiser task.
  • Writes registry + .bin files.
  • ConfigMgr hardware inventory → reads registry, populates SMS_UpgradeExperienceIndicators.
  • Console dashboards present UEIs by color/status and reasons.

This knowledge combined should enable you to seek out your devices, drop them into eligibility collections and deploy your feature upgrade to uplift your devices. Some of you are going to need to have deep pockets because even my trusty old HP Elitebook with an i7 and 32GB ram doesnt quite meet the mark - it has the spec but not the TPM. Hence my new fancy HP Zbook that has more power than I’ll ever know what to do with.

Good luck! Get upgrading now if you’re not already… dont wait any more.

I appreciate you taking the time to read my blog.
Your interest and support keep me motivated to create more content.
If you think others might benefit from this content, please consider sharing it
... Jonathan

Share this post