Windows 10 Compatibility Scan with Configuration Manager
Before deploying Windows 10, it's a good idea to check the readiness of your existing machines running Windows 7, 8/8.1, Or even Windows 10.
In this blog post I will use setup.exe with /compat scanonly switch to check the compatibility without performing the upgrade. The reason for not choosing the Upgrade task sequence for this job is to avoid sending the whole 3.5 GB source files over the network.
Package & Command line
Here's the command line with switches to silently check the compatibility. setup.exe /Auto Upgrade /Quiet /NoReboot /Compat ScanOnly
Since the clients don't need to download the full set of source files to check the compatibility, as the setup.exe only validates the existence of the files which can be even on a network share. Instead of creating a package with full set of source files, all i am using is a 1KB batch file to call a network share where the source files are located.
Command line of the batch file: -
start /wait \\<ServerShare>\setup.exe /Auto Upgrade /Quiet /NoReboot /Compat ScanOnly
exit /b %errorlevel%
The client will still download some source files which is significantly less than the whole set. Here's a snapshot of the SMB traffic during this operation -
The program for the package above simply executes the batch file. Based on the above network traffic, you might want to set the estimated disk space and the Max allowed run time.
It should run regardless a user is logged on or not.
The resultant output of the scan results is not the typical 0 for success, refer the table below for the list expected Decimal Output returned by ConfigMgr and Hex Code returned by the windows setup log files.
For reporting purposes, you can leverage the attached report which takes the package name as input. Refer the screenshot below.
The above package can also be called out in a Task Sequence where you can add additional steps to capture logs in case of failure. Attaching the exported TS for reference.
Step 1 – Add an Install Package step to run the above package. Make sure you check the box Continue on error in the Options tab.
Step 2- Add a group to Capture Logs if the result is anything other than -1047526896 which is Success/No issues found.
Step 3 – Map Network Drive to a server share where you want to dump the log files
Step 4 – Create Folder for each computer.
Step 5 – Copy the Log files to the network share.
Step 6 – Copy the XML files to the network share.
Step 7 – Disconnect the Network Drive
Reporting – TS
Refer the attached report which takes the Task Sequence name as input to display the compatibility results. Screenshot below.
Download Reports - Note – The reports are built using SSRS 2016 schema.
Legacy Reports - For importing into SSRS 2008 R2, 2012 & 2014