Windows 10 Upgrade Script for ConnectWise Automate
Documentation

Upgrade your Windows to latest version of Windows 10

If you use Connectwise Automate (Formerly LabTech) (or any other RMM), we have a script ready for you to upgrade your windows machines to the latest Windows 10 operating system.

Why should you upgrade Windows 7 to Windows 10?

Requirements


What are the prerequisites for this Script?

    • Windows ISO File: Download the latest version of Windows 10 from Microsoft and place the file at L:\Transfer\Windows10\ this directory. Your path to file must look like L:\Transfer\Windows10\Windows10.iso.

If you don’t know how to download ISO, follow the instructions given on this page:- Using the tool to create installation media (USB flash drive, DVD, or ISO file) to install Windows 10 on a different PC.

  • UpgradeKeyChecker Utility: Download “UpgradeKeyChecker.zip” and place it in the same folder, and the file path must look like L:\Transfer\Windows10\UpgradeKeyChecker.zip – This zip file is required for the script to work.
  • Windows License Key: Optional but Important. When there is a need to supply Windows License Key to script, On the Computer screen in the Windows Upgrade tab, there is an EDF called “Windows 10 License Key” for you to supply the license key.If you study this article on Windows 10 edition upgrade, you will find that there are chances when you need to supply a Windows License key to perform an upgrade.One more article labeled as Windows 10 upgrade paths you should study if you are upgrading from Windows 7 or Windows 8 to Windows 10.

    With license key, you can upgrade Home Basic (or any other Home Family OS versions like Starters, Home Basic, Home Premium, etc.) 32bit machine to Pro, Enterprise or Ultimate 64bit Edition. It all depends what License key you’re using to upgrade.

Requirements for the target machine.

  • 10 Gb free disk space on any drive to download the setup files and extract them.
  • More than 5 GB disk space on the system drive.
  • At least 2GB of RAM

Script variables for YOU to change


    • 3rd party storage: If you want CW Automate to download ISO files from “AWS S3 bucket” or other 3rd party storage service, then put the complete URL to file in a variable called “url” given in “Function – Fulfill Upgrade Requirements”->Global Parameters tab. The script won’t work if you provide Dropbox, Onedrive, Google Drive’s URL due to restrictions of usage.

 

    • Script License Key: We will send you the license key in the email that is given while making the payment. That you will need to provide in Function – Perform Windows 10 Upgrade script. Open the script, click on Globals and Parameters tab, select scriptkey variable, enter the license key, and click the Save button.

How does the script work?


  1. Start with ticketing: The script starts by creating a ticket to record the upgrade process. On upgrade success, the ticket will be closed with proper time entry. Else, it remains in the open state.
  2. Is required free space available? The script checks all drives are internal drives on the target machine and chooses the one with maximum free disk space to store the windows setup files, ISO files, and other related files. The target machine must have at least 10GB free disk space on any drive and 5GB on the system drive.
  3. If the target machine is a Laptop: Laptop should be on charging mode. If the script finds it on battery mode, then exit with a ticket note.
  4. Windows 10 setup files. Script downloads required files at %DriveLetter%:\WindowsSetupFolder\ directory. I will call this directory “setup folder” further in this documentation.
    • First, the script tries to copy the ISO file named Windows10.iso from the Cache directory given at Location->General tab in the CW Automate.
    • If it couldn’t find the file in the cache directory, it tries to download the ISO from a third-party bucket.
    • If failed, then it tries to download the ISO from LTShare Folder. Make sure your file path must look like: L:\Transfer\Windows10\Windows10.iso
    • If it doesn’t find the ISO file on LTShare, then exit with ticket notes.

    Please make sure you set up a network share (LT Cache) directory on the location before running the script, if you want the script to copy Windows10.iso file from a network drive. Please take look on “How to setup Cache directory” documentation given at https://docs.connectwise.com

  5. UpgradeKeyChecker utility: The script downloads the UpgradeKeyChecker utility to the setup folder. It is a required utility for the script to work.
  6. Check User logged in: If a user is logged in and working on the system, then the script sends a message to the user, asking for permission to upgrade. If he doesn’t respond or says no to upgrade, the script delays the upgrade for 9 hours, and It automatically reruns after 9 hours and asks the same question to the user if he is logged in, the user doesn’t respond with YES. The script exit with a ticket note.

    If you want to run the script on such machine where it had been rescheduled, but the upgrade didn’t take place then you need to uncheck a checkbox called “Asked user No. of Times” from Windows Upgrade tab of the Computer Management Screen.

  7. Backup: Script creates a system restore point and exports a registry key to the setup folder to identify “last logged in users on the system.” it imports the key back into the registry after the upgrade.
  8. Upgrade process: Script runs the Windows 10 upgrade using UpgradeKeyChecker utility. This utility requires a license key to run. This utility always verifies the license key from the SankalpIT License server before running the upgrade. Please make sure that you can browse the https://license.sankalpit.com/ website on the target machine. This step is useful for troubleshooting.
  9. How much time it takes: it depends on the machine’s performance, but it usually takes 40 to 60 minutes.

FREQUENTLY ASKED QUESTIONS


How does the profile migration work? How many profiles are migrated per computer?
– Setup handles the upgrade process very smoothly and almost silently until it requires reboots to upgrade the OS.
Are any backups performed?
– The script creates the system restore point. However, we recommend you take a bare-mental backup before running the upgrade. In most cases, if anything goes wrong with the upgrade, it would be canceled and would revert the OS to its original state.
Can I use this script to upgrade the machine from older versions of Windows (Win 7, 8, or 8.1) to the latest version of Windows 10, and can I upgrade old versions of Windows 10 to the latest?
– Yes, you can use the same script, but you need to have the latest copy on windows 10 to deploy.
Is it possible to upgrade machines 100% silently?
– It is a significant upgrade, and we could not make it 100% silent. But yes, we could make the script do 60% of its job in the background. Windows upgrade requires one to two reboots. That’s why we couldn’t make it 100% silent.
Can you supply license keys to upgrade to a specific Windows 10 edition?
– Yes, you can migrate Windows 7 32bit machine to windows 10 64bit if you supply a Windows license key. Windows upgrade checks the license key and runs the upgrade accordingly. Check Windows 10 upgrade paths and Windows 10 edition upgrades to know more about them.
Can I upgrade Windows 7 unlicensed to Windows 10?
– Yes, you can. In that case, you need to provide a windows license key to the script to perform the upgrade.
Does it support Hosted RMM?
– Yes, but in this case, you need to provide 3rd party storage to store your ISO file or set up LT Cache on each location. We have explained what you need to do if you use LT Cache or 3rd party storage service.
Will you configure LT Cache for me if I purchase this script from you?
– We are only charging for the script. If you want us to configure LT Cache for you, you need to invest a small amount to get it done for you.
Does it upgrade Encrypted Machines?
– Attempts an upgrade without suspending Bit-locker. If the upgrade fails, Windows Setup will suspend Bit-locker and complete the upgrade. If it fails again, then it is recommended to remove the encryption and rerun the script.
How do I troubleshoot the upgrade-related issues by myself?
– If the script doesn’t work for you, and you don’t know why! Then, run the Command prompt as Admin and run the following command. The script runs the same command as the System user account.

  • Without Windows Key: “C:WindowsSetupFolderupgradeKeyChecker.exe” /setup “C:WindowsSetupFoldersetupsetup.exe” /scriptkey XxxxXXXXxxxxXX
  • Or with Windows Key: “C:WindowsSetupFolderupgradeKeyChecker.exe” /setup “C:WindowsSetupFoldersetupsetup.exe” /scriptkey XxxxXXXXxxxxXX /windowskey xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

Please don’t say, WindowsSetupFolder directory exists in D, E: or any other drive and what do I need to do 🙂

Why is IIS not downloading the big files – the .iso files? What is the solution?
– The problem was the .iso file not being defined within the MIME Type in IIS.
– To resolve, we have defined .iso as the MIME Type in IIS.
– Need to follow the mentioned steps to set MIME Type for .iso files

  1. Open IIS Manager (Start >> Run >> type inetmgr hit enter).
  2. Select the root node from the connections pane. Double-click MIME Types from the features pane.
  3. Click on Add link in the Actions pane. This will bring up the dialog box. Enter file extensions, specify the corresponding MIME type and click on the OK button.File name extension: .iso
    MIME Type: application/octet-stream
Restart your IIS Server from the IIS Manager.

Please make sure to check term and Conditions page before buying the script.