When planning for a Windows 10 migration, understanding your environment is the key. Luckily, Windows 10 setup comes with command line options which one of them is an excellent compatibility check (/Compat ScanOnly). This command can be used on a Windows 7,8 or 10 devices before a migration in order to see if those devices are Windows 10 compatible. Using SCCM, we will run this Windows 10 compatibility check, return the results in the SCCM database and use this data to build a comprehensive report. This report can be used to detect and fix migration errors before the actual Windows 10 deployment.

SCCM Windows 10 Compatibility Check Package Creation

We will start by creating a package for Windows 10 compatibility check. The source of this package must be the Windows 10 installation media. The deployment option and command line is important here. If they are not set correctly you’ll end up sending the complete installation media (including Install.wim) to the computers only for a compatibility check which is not really effective. Using our proposed methods, you’ll be using about 250mb on the client drive instead of 5gb.

  • In the SCCM Console, go to Software Library / Application Management / Packages
  • Create a new package

SCCM Windows 10 Compatibility Check

  • Name your package and specify your Windows 10 installation media as the source file. Be aware that setup.exe is language specific. If you have EN-US machine, you must provide EN-US media

SCCM Windows 10 Compatibility Check

  • Create a Standard Program

SCCM Windows 10 Compatibility Check

  • Command Line : SETUP.EXE /Auto Upgrade /Quiet /NoReboot /DynamicUpdate Enable /Compat ScanOnly
    • /DynamicUpdate: Enabling it causes setup to download the latest compatibility information from Windows Update
    • /CopyLogs parameter can also be added at the end. Use it to copy setup logs to a shared network drive. The problem with that switch is that the logs are not classified using computer names, it will be a nightmare finding the right logs after hundreds of deployments. This is why I’m not using it for this blog post.

SCCM Windows 10 Compatibility Check

  • In the Requirements page, select your operating systems

SCCM Windows 10 Compatibility Check

  • Complete the wizard

SCCM Windows 10 Compatibility Check

  • Right-click your package and distribute it to your distribution points

SCCM Windows 10 Compatibility Check

Deploy Windows 10 compatibility check on a test computer

We will now deploy the Windows 10 compatibility check program on a computer that runs Windows 10 1607. In our test, we want to evaluate if this computer can upgrades from Windows 10 1607 to 1709. Create a test collection and deploy the newly created program to a test device.

  • Right-Click your package and select Deploy
  • On the General tab, select your collection

SCCM Windows 10 Compatibility Check

  • On the Content tab, ensure that your content is distributed to your distribution point

SCCM Windows 10 Compatibility Check

  • Select your deployment purpose – Available or Required

SCCM Windows 10 Compatibility Check

  • On the Scheduling pane, select your schedule

SCCM Windows 10 Compatibility Check

  • On the User Experience pane, select the desired options

SCCM Windows 10 Compatibility Check

  • On the Distribution Points pane, select Run program from distribution point

SCCM Windows 10 Compatibility Check

  • Review your choice and complete the wizard

SCCM Windows 10 Compatibility Check

Running the Compatibility Check

On a targeted computer, run the program manually in the Software Center (Available) or wait for the schedule to trigger your deployment (Required).

The installation will starts. It will take about 5 minutes to complete… and it will fail. This is normal as the error code returned by the compatibility check will always be an error. (No problem will be 0xC1900210 -1047526896).

SCCM Windows 10 Compatibility Check

If you need more information about the error, look at Setupacr.log or Setuperr.log generated by Setup.exe. They are located in C:\$WINDOWS.~BT\Sources\Panther folder. (Or in the specified path if you use the /CopyLogs parameter in your command line. We cover the topic on how to troubleshoot Windows 10 error in this blog post

Once we tested on a couple of test machine and are happy with results, we can expand our deployment to all computers.

From there, what’s the easy way to check your compatibility results? You could go in the Monitoring / Deployment section in the console… or you build a custom report.

Windows 10 Compatibility Check Report

Luckily for you, we created a report which will give you a quick overview of your compatibility success or failure. We also included basic hardware inventory information for you to refer if a computer is not compliant because of hardware limitation. The only thing you need to do is to select your Compatibility package and run the report !

SCCM Windows 10 Compatibility Check

You can download this free report by visiting our product page. The Asset – Compatibility Check report is available in the Report / Asset Section.

Good to know : How to import an RDL file

Let us know what you think of it.

Comments (34)

Walter Dijkstra

02.26.2018 AT 09:12 AM
Great Article, I just downloaded it and installed it.....created the package and all and ran it on 1 machine. I got the above mentioned error so looks good. When i try to run the report i get the message : The report server cannot process the report or shared dataset. The shared data source 'CM_SCD' for the report server or SharePoint site is not valid. Browse to the server or site and select a shared data source. Where do i change the data source to our CM server?

Walter Dijkstra

02.26.2018 AT 09:47 AM
Never mind. Found it 🙂

Adam Gross

02.25.2018 AT 12:20 AM
James, I wrote a script as well but yours sounds much more robust. Is it anything you can share?

James Leroux

02.26.2018 AT 01:00 PM
Adam sure I dont mind. I didnt bother parsing the XMLs related to space, or sku etc as they are sort of self explanatory. but I did parse the xml that kicks out the list of incompatible hardware.. ill send you an email with a primer... My PS skills are sort of limited so forgive me if I take a somewhat simplistic approach.

David das Neves

02.24.2018 AT 03:20 AM
Good article! Will add it to the http://aka.ms/w10links All the best, David

James Leroux

02.23.2018 AT 02:08 PM
We run a script that parses those XMLs and populates the smsts.log with more explicit instructions, as well as provide a pop-up on screen that will notify the user, in particular, list the offending incompatible software. What mechanism within the TS could I use to get more detailed info delivered to the SCCM MP so that a report on the failed deployment could contain that extended information? This could have implications for other custom failure messaging we implemented.