Windows 10 upgrade assessment using Onevinn TSLaunch

Today version 2 of the “Onevinn Windows 10 Upgrade tools” was released and there are many new great features in there created by my colleague  Johan Schrewelius. It can be downloaded here: https://gallery.technet.microsoft.com/Windows-10-Upgrade-Tools-431094ca

More information on what TSlaunch is can be found here: https://ccmexec.com/2018/05/windows-10-upgradeservicing-tools-demoed-at-mms-2018/

I will try to cover at least some of the new features starting with how we can use the new feature for Windows 10 Upgrade Assessment. The new version of TSLaunch includes a SCCM console extension where we can monitor Tslaunch status and Upgrade Assessment status as well if we choose to use that feature.

We can have TSLaunch to automatically run a assessment upgrade as soon as the the content for the upgrade is cached locally, the result will be written to a central log file and to the SCCM console using custom status messages. This will give as nice graphical overview in the SCCM admin console of how the upgrade assessment ran and also the possibility to deep-dive into any error as shown below.

You can then select “Launcher” in the menu to the right to see more status, in my case the Windows 10 Upgrade Assessment failed on one computer, the error message is translated to a more understandable error at least for the known errors.

A log file is also created where we can see the status of everything TSlaunch actually do, it is placed in C:\Windows\Temp and copied to the logshare defined in the tslaunch.exe.config file as well.

You can then drill down to the specific computer in the console, and if you have fixed the assessment error you can select “Start TSlaunch” and it will actually inject a script in SCCM and execute it on the client using the “Runs Script” feature in Configuration Manager.

We can also run script based on the Windows 10 upgrade assessment status, success or failure then we can add computers to collections, remove them, email or whatever we want to do. Simply place the script in the TSLaunch folder and add it to the tslaunch.exe.config file.

How do we configure it then? The user-guide that Johan put together it simply great it covers that as well.

In TSLaunch.exe.config there are a couple of settings we change that is related to Windows 10 Upgrade Assessement.

RunAssessmentTestWhenContentAvailable

If the task sequence deployment is configured to pre-download all content before running it’s
possible to have TSLaunch perform an “Assessment test”. This will be performed according to the
settings in the next key “AssessmentTestArguments”.
The result of the test will be logged as integer, hex and, in most cases, clear text.
Example: “True” or “False”
Remark: Running an Assignment test might temporarily impose a slight negative impact on the
computer’s performance. Since TSLaunch is running repeated preflight checks until all pass the
assessment test will be suppressed for 12 hours. once succeeded. This will be logged.

AssessmentTestArguments

When an assessment test is performed during (within) an upgrade task sequence it invokes the windows installer program “Setup.exe” with the following arguments: “/ImageIndex 3 /auto Upgrade /quiet /noreboot /DynamicUpdate Disable /compat ScanOnly” The “AssementTestArguments” key is prepopulated with the same switches and arguments. The image index might have to be changed if you’re upgrading to anything apart from the Enterprise edition, are using modified (patched) media or if Microsoft in the future decides to not bundle the different editions. For 1709 and 1803 out of the box media, no change is required.

It’s possible to add an extra switch/argument to the line if you wish to have the logs copied somewhere for further analysis.
/CopyLogs \%COMPUTERNAME%
%COMPUTERNAME% will in this case be resolved by TSLaunch

SkipAssessmentTestOnFinalPreflightCheck

Even if the preflight checks have previously succeeded TSLaunch will always perform a final check
just before launching the upgrade task sequence. This is necessary to detect if, for example, the user
has disconnected the AC power or left the company network since last run.
It might not be necessary to run an assessment test as part of this final check; thus, it can be
suppressed by setting this key to “True”.
Example: “True” or “False”

AssessmentSucessScript

There are many possible outcomes of an assessment test, one is success all the others are different
kinds of failures, all preventing the upgrade.
If the test is successful you might want to take some special action, like adding the computer to a
collection or similar. To accomplish this, it’s possible to run a PowerShell script on success. The script
could in turn invoke a web service, such as OnevinnWS, to do the actual adding. An example script
that does just that has been included. Executed as SYSTEM.
Leave blank if no script should be run.
Example: “MyOnAssessmentSuccessScript.ps1” or “”

AssessmentFailedScript

Same as above but the script will be invoked in the event of a failure. Executed as SYSTEM
Example: “MyOnAssessmentFailureScript.ps1” or “”

This gives us great flexibility and more information and options to be successful in our Windows 10 Servicing.

9 Comments

Add a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.