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)

spliter

08.20.2020 AT 11:46 AM
Why I dont see my package in the list ? I see some package and some Task Sequence, but not the package i created

spliter

08.20.2020 AT 02:52 PM
never mind! i found!

Bert Vangeel

02.25.2020 AT 07:59 AM
Which files are exactly needed to be in the package? Looking at the description it says this "Using our proposed methods, you’ll be using about 250mb on the client drive instead of 5gb." Also, "The source of this package must be the Windows 10 installation media" - but that is the full 5Gb Are you including it all, or only parts of it? So which files are included? Only the setup.exe is probably not enough, but it's not described which files from the installation media are needed? thanks for the info.

Bert Vangeel

02.25.2020 AT 10:42 AM
OK. so I included the whole shebang, the complete ISO, but it downloads everything onto the client, so the complete 5GB. Using our proposed methods, you’ll be using about 250mb on the client drive instead of 5gb? Also, if I try to run it, I get an error 0xB7(183) that translates into: ERROR_ALREADY_EXISTS 183 (0XB7) Cannot create a file when that file already exists. Which file? where? I did try to run an upgrade previously on that system, but removed the C:\$WINDOWS.~BT\ folder. Any assistance on this is greatly appreciated. Thanks!

Prabhu

01.02.2020 AT 11:13 PM
I am not sure if this actively montiored. I used this recently and noticed below while running the report. Any help is appreciated. An error has occurred during report processing. ---> Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An error has occurred during report processing. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'PackageName'. ---> System.Exception: For more information about this error navigate to the report server on the local server machine, or enable remote errors ------------------------------- Microsoft.ConfigurationManagement.ManagementProvider.SmsException An error has occurred during report processing. Stack Trace: at Microsoft.ConfigurationManagement.AdminConsole.SrsReporting.ParameterPresenter.GetParameters() at Microsoft.ConfigurationManagement.AdminConsole.SrsReporting.ParameterPresenter.LoadParameters(IReport report, Collection`1 navigationParameters, IResultObject resultObject) at Microsoft.ConfigurationManagement.AdminConsole.SrsReporting.ReportViewerPresenter.Worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument) ------------------------------- System.Web.Services.Protocols.SoapException An error has occurred during report processing. ---> Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An error has occurred during report processing. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'PackageName'. ---> System.Exception: For more information about this error navigate to the report server on the local server machine, or enable remote errors Stack Trace: at Microsoft.ConfigurationManagement.AdminConsole.SrsReporting.ParameterPresenter.GetParameters() at Microsoft.ConfigurationManagement.AdminConsole.SrsReporting.ParameterPresenter.LoadParameters(IReport report, Collection`1 navigationParameters, IResultObject resultObject) at Microsoft.ConfigurationManagement.AdminConsole.SrsReporting.ReportViewerPresenter.Worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument) -------------------------------

Cristian

10.18.2019 AT 09:04 AM
Hi, I'm trying to use the report, I modified the packageName dataset from vSMS_ClassicDeploymentAssetDetails to v_ClassicDeploymentAssetDetails, but as CEGross I don't get the correct value in the Return Code (HEX) field and in Return Code Description, but only #Error. Can you give us some help? Thank you

CEGross

09.20.2019 AT 02:17 PM
When looking at the reports listed here, I keep getting an error on the hex fields in the report. Any ideas why that would be occurring?

Roger Buggy

07.22.2019 AT 04:54 PM
Hi! You Need Leads, Sales, Conversions, Traffic for systemcenterdudes.com ? Will Findet... I WILL SEND 5 MILLION MESSAGES VIA WEBSITE CONTACT FORM Don't believe me? Since you're reading this message then you're living proof that contact form advertising works! We can send your ad to people via their Website Contact Form. IF YOU ARE INTERESTED, Contact us => lisaf2zw526@gmail.com Regards, Buggy

Chris Ecklar

06.16.2019 AT 08:15 AM
The view in the PackageName dataset has been changed from vSMS_ClassicDeploymentAssetDetails to v_ClassicDeploymentAssetDetails in Configuration Manager 1806 and higher.

Chris Ecklar

06.16.2019 AT 08:18 AM
You'll need to edit both the Data and PackageName datasets to reflect the change in the view name.

Ismail

05.09.2019 AT 03:12 AM
Is there any command line available to upgrade directly without scanning applications , files and folders.

Veke

01.22.2019 AT 04:52 AM
I changed the Server and Catalog information to correlate our environment, but I still get the error: Query execution failed for dataset 'PackageName'. (rsErrorExecutingCommand) The SELECT permission was denied on the object 'vSMS_ClassicDeploymentAssetDetails', database 'CM_404', schema 'dbo'. Is there a fix to this?

Jonathan

12.13.2018 AT 03:25 AM
Thank you System Center Dudes. This is really helpful.

Vincent

12.12.2018 AT 04:53 AM
Hello, I'm on SCCM 1806 and the property "StatusDescription" from the v_ClassicDeploymentAssetDetails doesn't return the exit code of the task sequence but a string description like "The task sequence manager successfully completed execution of the task sequence". Do you have same issue ? Thank you Vincent

Jax

02.06.2019 AT 10:07 AM
Hi we are on CB1806, but when I run the report we get the same as you VIncent. No error codes displayed. Just wondering if this has to do with the View permissions on the v_ClassicDeploymentAssetDetails

Guy

10.24.2018 AT 04:20 PM
Hello, I found a fix for the issue "An error has occurred during report processing. (rsProcessingAborted) Query execution failed for dataset ‘PackageName’. (rsErrorExecutingCommand) For more information about this error navigate to the report server on the local server machine, or enable remote errors" Open the report in SSRS, Click on the arrow next to the report and click on "Manage" on the "Data Sources" tick "A Custom data source" and use "Microsoft SQL Server" in the connection string type: "Data Source=server.domain.com;Initial Catalog=CM_123" Just change the server.domain.com to your SQL server and the Catalog is your own. That worked for me...

Eddie Pecanha

01.24.2019 AT 08:58 AM
Hey Guy, thank you so much, that worked for me too 🙂

Rachel

10.11.2018 AT 10:01 AM
Hi, I imported this report and changed the dataset, but get the following when trying to run the report. Am I missing something? An error has occurred during report processing. (rsProcessingAborted) Query execution failed for dataset 'PackageName'. (rsErrorExecutingCommand) For more information about this error navigate to the report server on the local server machine, or enable remote errors

Wim

04.18.2018 AT 08:57 AM
SystemCenterDudes, After some troubleshooting I found that the SCCM Reporting Services point account has SMSSCH_Users role on the SQL Database. This role has permissions to execute functions and use a "selection" of the views that are in the Configmgr Database. The view that is used in this report "vSMS_ClassicDeploymentAssetDetails" is not in that selection, so by default the reporting user cannot read this view. Is it a good practice to give this account read access to the complete database (all views and tables)? There is probably a good reason why Microsoft is limiting the read access to views? Maybe because these views can be changed or be deleted after a version upgrade?

Nick

12.18.2019 AT 11:39 AM
I opened the RDL file and removed SMS from the 2 lines and the report worked for me.

Marcel

09.13.2018 AT 08:42 AM
But the question that remains... what do we need to change to get this report working again without giving out too much permissions or does anyone have an alternative report to get the information we need?

Fred

08.30.2018 AT 08:27 AM
This would indeed be interesting to know as the Report, as it is now, is useless since it cannot be run (running on CM 1806, SQL 2016 SP1).

Wim

04.17.2018 AT 03:59 PM
We also have this error: The SELECT permission was denied on ‘vSMS_ClassicDeploymentAssetDetails It seems that the reporting services point account hasn't got sufficient rights to read this table/view... What rights should the RSP account have on the SCCM database?

Wim

04.17.2018 AT 03:58 PM
We also have this error: The SELECT permission was denied on the object ‘vSMS_ClassicDeploymentAssetDetails It seems that the reporting services point account hasn't got sufficient rights to read this table/view... What rights should the RSP account have on the SCCM database?

ACabral

04.04.2018 AT 06:10 AM
Hello Team, I’ve created the package added the report but I getting the following error when I try to run it the report: The SELECT permission was denied on the object 'vSMS_ClassicDeploymentAssetDetails', database 'CM_XXX', schema 'dbo' Does anyone know how to resolve this?

David das Neves

02.28.2018 AT 08:30 AM
Setupacr - setupact