/build/static/layout/Breadcrumb_cap_w.png

KACE SMA - Windows 10 / Windows 11 inplace upgrade PreCheck

Edit:

02.12.2019:

- Uploaded the files for 1909 PreCheck

- Added the language code check in the PreCheck script similar to the upgrade script

11.08.2020:

- Uploaded the files for 2004 PreCheck

07.10.2021:

- Uploaded the files for Windows 11 2009 PreCheck

- Modified Verify section to check for CurrentBuild and not ReleaseID anymore because Windows 10 21H1 and Windows 11 have the same build number

- Log displays for example, that a TPM module is missing:

  


Hello Community,

I would like to start a mini series for all of you who are also facing a Windows 10 inplace upgrade strategy. As an example, I will use the current 1903 build upgrade. This series will contain 3 blog post which will contain

1.) a precheck to detect upgrade issues or blocker in advance

2.) the preseeding of the binaries so that clients outside your network will smoothly download the gigabytes

      https://www.itninja.com/blog/view/kace-sma-windows-10-preseeding-large-files

3.) the upgrade itself

      https://www.itninja.com/blog/view/kace-sma-windows-10-inplace-upgrade


But first I will thank my former colleague and friend chrpetri. He did the development work at this scripts and helped me with testing all the functionality.


Today I want to start with part 1 the “Precheck”. The other posts will be published soon, and I will reference to them here.

This precheck-script is used for Windows 10 inplace upgrades, similar to a detection schedule in our Patch Management.

The prerequisite for this is that an unpacked Windows 10 ISO is available on a network share. Alternatively, the unpacked ISO can also be copied to the local clients. You can do it for example with the file synchronization functionality of our SMA.


Here you can download the exported script as well as the report and the custom inventory rule.

1903 - DOWNLOAD

1909 - DOWNLOAD

2004 - DOWNLOAD

Win 11 2009 - DOWNLOAD


This script can be executed silently in the background on the clients. This allows you to scan the clients in advance of a build upgrade and see where you might need to take action to update software or drivers on your endpoints.

After importing the script into your SMA you will find three dependencies.

The first is a 7-ZIP EXE to pack the log files and upload them to the SMA as the script progresses.

Furthermore, there is the "PreCheckWinX.cmd". This file is responsible for executing the setup.exe in the unpacked Windows 10 ISO. In addition, two variables are queried which are important in the further course of the script. The first variable is the path to the unpacked Windows 10 ISO. The second variable is the path to the log files, which is already given.

The third file is "WindowsSetupLogParser.vbs". This file is used to search the collected logs of the PreCheck for certain keywords. At the end a file is created, which shows us clearly where there may be errors.

Various tasks are performed in the script itself.

Among other things, it is checked whether the system has a lower Windows 10 Built version than 1903 in order to be eligible for an upgrade at all.

The log paths are then created, into which the logs from the PreCheck are stored.

In the third task the CMD file mentioned above is executed.

Note: Here you have to specify the path to your unzipped Windows 10 ISO file. In my script this is "\\192.168.50.1\install$\WinX1903\. Authenticated users should have read permissions on this path. The second path is the log path, and this does not need to be changed.

 


In the last task, the collected log files are packed with 7-ZIP and then uploaded to the SMA so that the log files can be accessed at any time from the SMA. In addition, the "WindowsSetupLogParser.vbs" is executed, which creates the file "WinSetupResults.log" at the end. We read this file with the imported Custom Inventory Rule so that the content is also available in the SMA.

As soon as the data is available in the SMA, a report can also be generated, which gives us a quick and easy overview of which scanned clients would successfully install the inplace upgrade or where there might still be problems.

Note: The ID of the Custom Inventory Rule is stored in the report, which is probably different for you. If so you have to change the report as follows.

First you must copy the ID. Navigate to "Inventory / Software" and click on "Inventory: Windows Setup Precheck Log". Now click into the address bar of your browser and copy out the ID. It is important that you open your SMA with https://SMA/adminui, otherwise you won't see the complete address line in your browser.

 

The query must then be adjusted in the "Windows Setup Precheck Log Parser Results" report. Navigate to "Reporting" and search for "Windows Setup Precheck Log Parser Results". After a click on the report, you will see the SQL Query. There you have to paste the previously copied ID.



The following is an example of the report:


 

In the following two examples how the WinSetupResult.log file can look like.

::MATCH: C:\WinX1903\PreCheck\Panther\CompatData_2019_04_25_12_27_19_3_006f0018.xml

[DriverPackage]

 - Inf: oem44.inf

 - BlockMigration: True

 - HasSignedBinaries: False

[DriverPackage]

 - Inf: oem43.inf

 - BlockMigration: True

 - HasSignedBinaries: False

 

Note: With such file contents, you need to navigate to "C:\Windows\INF" to see which drivers might block an upgrade. In this example it is the "Microsoft Windows XPS Document Writer" and the "Microsoft Windows Print to PDF" driver which would not block the inplace upgrade.

 

::MATCH: C:\WinX1903\PreCheck\Panther\CompatData_2019_04_26_13_25_01_3_006f0018.xml

[HardwareItem]

 - HardwareType: Generic

     [CompatibilityInfo]

      - BlockingType: Hard

 - Message: Your PC has hardware that is not yet ready for this version of Windows 10. No action is required. This version of Windows 10 is automatically offered by Windows Update once the problem is resolved.

      - Title: This PC cannot be upgraded to Windows 10.

[DriverPackage]

 - Inf: oem1.inf

 - BlockMigration: True

 - HasSignedBinaries: False

[DriverPackage]

 - Inf: oem0.inf

 - BlockMigration: True

 - HasSignedBinaries: False

::MATCH: C:\WinX1903\PreCheck\Panther\CompatData_2019_04_26_13_25_01_3_006f0018.xml

[HardwareItem]

 - HardwareType: Generic

     [CompatibilityInfo]

      - BlockingType: Hard

 - Message: Your PC has hardware that is not yet ready for this version of Windows 10. No action is required. This version of Windows 10 is automatically offered by Windows Update once the problem is resolved.

      - Title: This PC cannot be upgraded to Windows 10.

[DriverPackage]

 - Inf: oem1.inf

 - BlockMigration: True

 - HasSignedBinaries: False

[DriverPackage]

 - Inf: oem0.inf

 - BlockMigration: True

 - HasSignedBinaries: False

 

There are several hardware drivers installed that are not compatible with the 1903 build, and these would need to be updated before the upgrade can be performed. However, this evaluation may also include applications that might block the upgrade. Usually antivirus programs are detected that should be updated first before the inplace upgrade is performed.


I hope this article helps you to get the needed insights before upgrading your endpoints to a new build version. If there are any questions or problems, do not hesitate to use the comment function and let me know.


Comments

  • Thanks for the great job Sven, if I can suggest one thing, for being perfect, the log comments on the script are in German and It would be great if you can translate to English. - Steph386 4 years ago
    • Thank you for pointing that out. I have translated all log entries and replaced the files in the download link. - sven.hain 4 years ago
  • Hi Sven,

    I'm looking to create a windows 10 inplace upgrade precheck like yours.

    But I do not know how you did it all this.
    Can you explain me more about
    "After importing the script into your SMA you will find three dependencies."?
    How do you import the scripts that you have posted? Do I have to make a new script in KACE SMA?

    Can you give me (if you want) a procedure how you did this? I have tried, but I think I do something wrong.

    I'm looking forward on your response.

    Thank you!

    Rachid - Rachid 4 years ago
    • Hi Rachid,

      here you have a how to for the import.

      https://support.quest.com/kace-systems-management-appliance/kb/116949/how-to-import-and-export-resources

      The samba share for the SMA is \\YOURSMA\clientdrop. You must copy my files to this share and then you can import it in your SMA.

      Hope that helps you.

      Sven - sven.hain 4 years ago
      • Hi Sven,

        Thanks for the explanation!

        Kind Regards,

        Rachid - Rachid 4 years ago
  • Hi Sven,
    we talked last week about my issues deploying or upgrading 1903 on my envirement. please post your last step
    3.) the upgrade itself :-)

    my big issue is that 50-60% of my Systems (most of that 64bit and 32bit 1809) are starting the upgrade quiet but not installing or finishing it.
    They stop the installation after 1hour. I look for log files but there is nothing i handle with it.
    some of my systems are upgrading very well but over 60%not. Do you have detail information or what you need from me to help ? - Bilo111 4 years ago
    • Hi Bilo,

      sorry for the delay, but here is the link to the last script :)

      https://www.itninja.com/blog/view/kace-sma-windows-10-inplace-upgrade

      I hope that helps you. Otherwise please send me an email, if you have problems. - sven.hain 4 years ago
  • Thanks for the article. My County was looking for a way to get all of our Windows 10 machines to the same version. I'll be documenting our procedure and will credit your work. - caffeinator 4 years ago
  • I am running into an issue with the "DOWNLOAD" link. It forwards me to my profile page and there is an error message at the top that says "That email address does not have a current support contract. Please contact https://support.quest.com/" - Snichols@sco.edu 4 years ago
    • Hi,

      we have implemented a new method to download our files. Only customers with an active maintenance on one of our KACE products can download files.

      If you are in your settings of your ITNinja profile, you need to validate your "Customer Support Validation" EMail address.

      If you have valid maintenance, then you must accept the terms and conditions field. You must scroll down in this field and at the bottom you have a checkbox to accept it.

      Hope that helps you to download my packages.

      Have a nice day. - sven.hain 4 years ago
  • hello,tanks for yourwork.
    Is there a way to define some variable for usin gany image of win 10 (1803 or 1909) without editing your file? - bleclerc 4 years ago
    • Hi,

      you can not use a variable in the script but there is another easy way to change the built numbers.

      If you are in one of my scripts, you can scroll down to the "Schedule Options" section. There is a button to edit the XML file of my script. If you click on it, you get another window with the XML code. You can copy / paste it for example to notepad++ and then find and replace 1903 with 1909 or 1803. After that, you can copy / paste it back to the XML window in your SMA. If you safe that, you can deploy 1909 or 1803.

      But I will test the scripts with 1909 as well if there are any error or something similar and then I will upload it here as well if you can wait a little bit to deploy 1909 :)

      Hope that helps you.

      Have a nice weekend. - sven.hain 4 years ago
      • Thank you, i can wait for it, it was just for a test - bleclerc 4 years ago
  • Great job! Thanks! - druiz@finamex.com.mx 4 years ago
    • Thank you very much :) Have a nice day. - sven.hain 4 years ago
  • Trying to download the precheck scripts but it doesn't recognize my email as a Quest customer. I am a Quest customer and can login to my account at the quest website as well as chat with Support .... What can I do ? - jtbrown@cmillc.org 3 years ago
    • Good morning,

      did you tried the customer validation in your ITNinja profile? You need to go to your profile and then to the tab "Settings". There is a Customer Support Validation where you need to verify your Email. After the validation you can download my files.

      Hope that helps you.

      Have a nice day and stay safe. - sven.hain 3 years ago
      • When I click on the download it takes me to the profile page, here it prompts me to enter the email associated with my Quest Support account. I enter that information and it tells me " Quest account not found for that email " . I use this account daily to reach / chat with Quest Support and know it's valid. I'm not sure whey it's not finding it. - jtbrown@cmillc.org 3 years ago
      • Good morning,

        in that case please create a ticket that support can look, why your account can not be linked to ITNinja. Normally if you have active maintenance, you can easily link your support account to ITNinja. - sven.hain 3 years ago
  • Hi,
    Will something be written for the Feature Update to Windows 10, Version 2004?
    thanks
    Steve - SteveNew 3 years ago
    • Good morning Steve,

      I will update the PreCheck script soon.

      Have a great day.

      Sven - sven.hain 3 years ago
    • Hi Steve,

      sorry for the huge delay in uploading the new files. The files for 2004 PreCheck are now available :)

      Have a great day.

      Sven - sven.hain 3 years ago
  • update your Kace System to Version 10.2. There is a new feature which upgrade from 1903 or 1909 to 2004. I test it and it is a really nice thing.
    Same job as you update your systems with OS Updates, Application Updates or Office Upates. Mabye reading this https://support-public.cfm.quest.com/57611_KACE_SMA_10.2_ReleaseNotes_en-US.pdf - Bilo111 3 years ago
    • The first edition of it is very rudimentary, though, and this script provides quite a bit more reporting and functionality than does the 10.2 built-in KACE feature updates. Hopefully in successive versions, Quest will improve it, but in my experience it hasn't worked as well as this method. - RD94 3 years ago
  • When will 10.2 come out? I checked for an update and it said it was not available. My system is on Current Version: 10.1.99
    Thanks
    Steve - SteveNew 3 years ago
  • it is out. Go to the quest support page and make your login and then you can download 10.2 - Bilo111 3 years ago
  • Good morning Bilo,

    you are absolutely right. With 10.2. it is very easy to deploy the Windows 10 upgrades. This process will also check, if there are any issues on the client system. But if you want a more detail level of information, it still makes sense to use the PreCheck script to know, what is blocking the upgrade.

    For the upgrade it makes now definetly more sense to use the function in the SMA :)

    Have a nice day all together and stay safe. - sven.hain 3 years ago
  • I downloaded and installed 10.2 myself. Now all I have to figure out is the crazy Windows 10 updates part. Thanks Steve - SteveNew 3 years ago
  • Because of the awesome Kace Windows Feature Updates Catalog I have most my devices on 21H2 - do you think you will be updating your script to check for compatibility ion newer Windows builds or are you done with this project? I had just learnt about it and all the wonderfullness when you spoke to it at Kace UserKon. - Mashby1 1 year ago
This post is locked
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ