Upgrading to Windows 10

*NOTE - If these tasks were downloaded and imported into your K2000 prior to September 4, 2015 please contact support.  We found an issue with the import of the task which we will need to fix on the backend.  The download available now does not have this issue.  We apologize for the inconvenience.

Many users will want to upgrade their current operating system to Windows 10, retaining all their user data and applications.  In order to upgrade to Windows 10, one must utilize the same edition of Windows 10 as the older version of Windows.  For example, if running Windows 7 Professional or Ultimate, Windows 10 Professional must be used.  If running Windows 8 Enterprise then Windows 10 Enterprise must be used to upgrade the system.


An upgrade to Windows 10 must take place within the operating system itself and cannot take place in KBE.  There are two methods to upgrading to Windows 10 using KACE appliances. The first method would be to create a K1000 script as outlined on an ITNinja blog post. The second method, which is detailed below, can be done from the K2000.  We recommend that you now upgrade to 6.0 and use Custom Deployments for this process.  The tasks for custom deployment can be downloaded from this page: https://www.itninja.com/blog/view/custom-deployments


First, use the current version of Media Manager to upload your Windows 10 source media.  Once this is completed, the source media ID must be obtained from Library | Source Media.


Upload the .PKG files from the page linked above, this will import a Task Group.  Go to custom deployment page and create a new one.  Then select the Windows 10 upgrade task group from the installation plan menu and select apply and then save.  Preinstall tasks such as partitioning and formatting should not be added to the image (or it will no longer be an upgrade).  The image that is being applied to the machine has no files, so nothing is overwritten.  The midlevel task is a template that should be duplicated and edited.  This midlevel task copies down the Windows 10 source media, enables autologon to the workstation and writes a setupcomplete.cmd file that gets applied at the end of the upgrade process.


The first few lines of the midlevel task contain variables that need to be changed by the user.

strUser should be an admin username

strPassword is the password of the above user

strDomain is the name of the domain, or leave as localhost if leveraging a local user

win10_source_cd_id is the ID number of the uploaded Windows 10 source media


The post install task, “Upgrade Windows 10” does not have to be modified by default.  However, the last command line switch is ‘/dynamicupdates disable’.

When Windows 10 setup begins, it will attempt to download available updates by default.  The command line switch above disables this behavior.  If you prefer for the updates to be downloaded immediately, just delete this switch from the command line.  For more commandline switches see http://winaero.com/blog/windows-10-setup-exe-command-line-switches/

Back to K2000 Deployment Workbench


  • Hey Corey,

    So I tried to set this up, but it looks like there might be an issue with the package file. When downloaded, it is just a file named "k2_upgrade_windows10" with no .pkg extension. I renamed it to k2_upgrade_windows10.pkg" and uploaded it to the restore folder on the K2, but when I went to import, the K2 reports it's a corrupted package.

    Downloaded a second time with same results. When the file's uploaded without the pkg extension, the K2 doesn't recognize it, so it doesn't show up to import.

    http://imgur.com/KwnmXNf - tshupp 8 years ago
    • Because it is actually a .zip file, rename it to .zip and decompress. The download is now fixed to show .zip.
      -Corey - cserrins 8 years ago
      • Thanks! - tshupp 8 years ago
  • Hi..

    Thanks for sharing.. It helps a lot - Joe Prior 8 years ago
  • Please share your stories and how this is beneficial so that others can see it and so that attention is drawn ;) - cserrins 8 years ago
  • It works! Thanks! - matthaei 8 years ago
  • I'm confused on what I need to put here "win10_source_cd_id is the ID number of the uploaded Windows 10 source media" - matt.larsen@nebo.edu 8 years ago
    • Yes, go to Library | Source Media and put the cursor over the link of the Windows 10 media that you uploaded. At the end of the link will be an ID#, that is the number you need to use.
      -Corey - cserrins 8 years ago
  • Thank you, I learned something new, now I can go update about 1000 computers. - matt.larsen@nebo.edu 8 years ago
  • Cant find "install.wim"....:( - Iori_Naruse 8 years ago
    • If you uploaded the Windows 10 media as described here, then you can use the attached tasks, which point to the install.wim file.
      -Corey - cserrins 8 years ago
    • If you uploaded the Windows 10 media as described here, then you can use the attached tasks, which point to the install.wim file.
      -Corey - cserrins 8 years ago
  • Script of "Upgrade to Windows 10"
    %systemdrive%\win10\sources\install.wim /postoobe

    I tried task but stop Upgrade to Windows 10
    maybe it cant find install.wim .

    I make Windows10 media by MediaCreationTool.
    And I use ESD-ISO. - Iori_Naruse 8 years ago
    • I don't know what those are, if you can give me links I can look into it. All is required is to take a downloaded Win10.iso file mount it, and upload it with Media Manager. Screenshots will also help. - cserrins 8 years ago
  • This is link of mediaCreationtool
    https://www.microsoft.com/en-us/software-download/windows10 - Iori_Naruse 8 years ago
  • I tried again,and Task is success.But Not update still Windows7... - Iori_Naruse 8 years ago
  • I can update it.
    I changed "install.wim " to "install.esd"
    thank you! - Iori_Naruse 8 years ago
  • Was able to get the packages and source media to upload. Made the changes to the midlevel task as mentioned above. Ran the image and it went quickly. However, upon startup I am still at Windows 7, but the auto login and other settings are in tact which tells me the image ran, but the update to Windows 10 does not happen. Any ideas why? - Gary.Cooper 8 years ago
    • Nevermind. Seems I just needed to make sure that we let the deployment finish completely. Once the auto logon happened, the upgrade finished and we now have Windows 10! - Gary.Cooper 8 years ago
  • what would the computer name veritable be instead of localhost? or would it be recommended to use a domain account instead of a local admin account? (in the midlevel task) - ashley.broom@goodenergy.co.uk 8 years ago
    • It doesn't matter which you use, as long as it is an admin account. If logging in as a local account, keep it localhost.
      -Corey - cserrins 8 years ago
      • we always use computername\user to login so it didnt work. i had to manually sign in for this task. however, i was running tests and i upgraded from windows 7 pro x86 to windows 10 enterprise x86 and its worked fine with no errors. so happy days - ashley.broom@goodenergy.co.uk 8 years ago
      • read the computername from the registry, assign it to a variable, and then change the login one with that variable\username
        -Corey - cserrins 8 years ago
  • Is there any way to deploy this with RSA? I see there is not a GUI option to sync source media but is there a way to manually copy source media to RSA? - jsnyder 8 years ago
    • Create a scripted install using the media you want copied to the RSA, then sync that scripted install and the upgrade image to the RSA and it should work.
      -Corey - cserrins 8 years ago
      • Excellent! That worked - thank you. - jsnyder 8 years ago
  • ello guys
    Right now i am working on massive upgrade on devices that have Win 8 Home to windows 10. I have done everything iike that toturial say :
    But when K2 is trying to make a Upgrade to Windows 10 Task (Post-install task ) there comes a error. I have found that the source image i have created using Media Manager on Windows 10 has only 1GB - maybe thats the problem ?
    As we can see the problematic task we have script
    that is trying to open a c:\win10\setup.exe application that release a silent upgrade. But when i check that localistaion i only see those folders and files :
    Docs folder, Samples folder, idk folder, tools folder and readmes file . So i am almost sure the problem is in source media of Windows 10. Is there any special trick to create Win 10 SM? - moganus 8 years ago
  • I apologize for my ignorance to start with . .. Can someone please explain to me what I do with the .pkg files and how do I upload them to the K2?
    I have the Windows 10 Media uploaded and I have the package ID, and I have the packages downloaded, but now I am stuck. Thank you in advance for any guidance you can give me. I have very limited knowledge of the K2 at this point as we have just completed our jumpstart training. That is the extent of my knowledge. . . - 4lienau 7 years ago
    • .pkg files are package files from the k2000. The download contains exported items that you need to import into your K2000. Since these are under 1.8Gb, you can simply go to Settings | Package Management | Import K2000 items. From the choose action drop down menu select to upload a .pkg file. Now select the file you downloaded to be imported as a K2000 image. There is a .pdf included with the image which should show this and complete directions.

      -Corey - cserrins 7 years ago
      • Super, thank you Corey. Now I understand. I've never done an export before so didn't know that it even existed. Very cool feature. I'll give this a try. Thanks again and for the quick response.
        Chris - 4lienau 7 years ago
  • Our upgrade does not seem to be installing the correct network drivers. We are upgrading from windows 7 pro to windows 10 pro. Are network drivers required to be installed during upgrade instead of grabbing them from the driver feed? - jboling 7 years ago
    • The upgrade will not use the driverfeed. You may need to add on specific drivers as a postinstall task.
      -Corey - cserrins 7 years ago
      • cserrins, oh, thank you. - jboling 7 years ago
  • Recently tried this out on a test machine. The upgrade process itself works quite well. I'm trying to automate the installation of a couple of drivers through the k2000 after the upgrade is complete, but I'm running into a wall. UAC is captured/disabled just prior to the in place upgrade, but is then enabled during the upgrade process. This causes the subsequent driver installs to fail due to permission issues. However, as I understand it, I wouldn't be able to simply change the registry settings for UAC through a .bat script, again, due to the permissions. Does anyone have any suggestions on running the driver installations through UAC, or simply re-disabling it during the process? - operationmintyhippo 7 years ago
    • You could do another PO task to disable uac with registry and reboot, then install the drivers.
      -Corey - cserrins 7 years ago
  • thanks for this article, its a great help :-) My deployment seems to be working up to the "Upgrade to Windows 10" task where it fails with "Unknown error" return code 2147942487. I left the Upgrade to Windows 10 task as it was, made no changes to it. Any suggestions as to whats possibly gone wrong? - dobbo85 7 years ago
  • Thanks for this guys. I have successfully upgraded at test machine using this method. I tried it again, this time with a post-install task to activate it but the install 'failed' with the activation task showing as still running in the audit logs. The upgrade was successful however.

    the task is just a batch file executing the following.

    cscript.exe c:\windows\system32\slmgr.vbs /ipk <MultipleActivationKey>
    cscript.exe c:\windows\system32\slmgr.vbs /ato

    Manually executing the batch file with the same account that is used for the upgrade is successful so I'm not sure what I am missing.

    Is anyone else using this method and having troubles? - designworks 7 years ago
    • be logged in as "administrator" when you do this - SMal.tmcc 7 years ago
    • You need to add a //b to make the activation silent. There is a popup message with an ok box that makes the task fail without user input. If you use: cscript //B "%windir%\system32\slmgr.vbs" /ipk or /ato it goes without any errors. - jboling 7 years ago
  • @SMal.tmcc, the account being used has admin privileges.

    @jboling, thanks I'll try that. Is this a new requirement for Win10? The exact same script that I'm using here without the //b works fine to active Win7 as a post install task on the K2000 for me. - designworks 7 years ago
    • I would say yes its new for windows 10 because it does not work for windows 7. - jboling 7 years ago
      • Just checking back in to confirm that the //b was the solution to this issue for me. - designworks 7 years ago
  • Hi,

    We are trying to upgrade from Windows 7Ent to Windows 10Ent and getting this error on Setup Post Install task, Invalid root in registry key "HKLM\TEMP_SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion"
    Code: 80070002
    Source: WshShell.RegRead

    Did anyone experience this during their upgrade. - amatemu 7 years ago
    • on the win7 image prior to upgrade does a registry set HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion exist? - SMal.tmcc 7 years ago
      • Hey, yes that key exists and it has value of 6.1 - amatemu 7 years ago
  • I deleted that key, but now i have a different error on that task.

    Script: Y:\application\43\setup_post_install_tasks.vbs
    Line: 195
    Char: 5
    Error: Unable to open registry key "HKLM\TEMP_SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion" for reading
    Code: 80070002
    Source: WshShell.RegRead - amatemu 7 years ago
    • This looks like a local admin issue, will make changes to the name being used and try again. Will give feedback - amatemu 7 years ago
  • look like kace injects that key for some reason then - SMal.tmcc 7 years ago
  • Does anyone have any suggestions on how to supply an answer file to this process? We are having issues with region settings (en-AU) that GP doesn't seem to be any use in resolving post-upgrade.

    Is anyone else non-US struggling with this? - designworks 7 years ago
    • I had the same problem you explain with fr-FR and fr-CH. I modified install.wim file to change the regional options offline and after upgrade I also needed to delete NTUSER.* from C:\Users\Default and recover these files from C:\Windows.old\Users\Default. After that it seems to work. - SITEL 7 years ago
  • Hi everyone, I have tried this package and everything works great, upgrade completes successfully the only issue is that the cleanup process does not seem to complete which leaves the auto login in place and the Win 10 source files on the C:\ drive it does seem to get rid of the KACE folder it creates on the C:\ drive though. Has anyone else seen this? - blking110 7 years ago
    • You could add a task to delete the source media after the upgrade.
      -Corey - cserrins 7 years ago
      • Corey, how do add this task? - clarkml 6 years ago
      • Corey, how do add this task? - clarkml 6 years ago
  • Hi Corey, Yep i have done that and it does resolve the issue, was just wondering if anyone else had that problem, it must be something in my environment that is causing this to not complete. Thank You for responding. - blking110 7 years ago
  • Will it be possible to call the driver feed, is their probably a script that could be run that after the update it will call the driver feed? I notice that on t3500 it will not pick up the nvidia video card any suggestion. How would I create a nvidia client install task? Will kace refactor k2000 code for native inplace upgrade support, make it a bit simpler? - itadder 7 years ago
  • Everything works great for this except the autologin. I have changed the username and password variables as described, but I still have to manually log in to get the upgrade to proceed. - dbr270 7 years ago
  • Hi, I'm trying to deploy upgrades to 1607 but am now getting a Windows Setup error that reads "An unknown command line option [/auto] was specified." This was not an issue when deploying 1511. Has anyone seen this? Is there a fix/workaround? Thanks! - jsnyder 7 years ago
    • Did you ever find a solution? I'm getting the same error. - scott.bunik 4 years ago
      • Follow directions on this page; https://www.itninja.com/blog/view/custom-deployments Make sure to remove old tasks and use the newest tasks. - cserrins 4 years ago
  • Anyway to add an local admin account as a pre or mid-level task? We do have a local AD account. However, it shows the last user logged in on the login screen, and I do not want our users to know about it or attempt to log in to that account as they may lock it out. - amsiddi5 7 years ago
    • set strUser=".\LOCALACCOUNT" - carminus 6 years ago
  • I'm a little stuck, how do you begin the upgrade process on the Windows 7 machine? - ryanSuperUser85 7 years ago
    • I'm not sure I understand the question. If you follow all the steps, the upgrade will be fine. You just have to match the Windows 7 OS to the appropriate Windows 10 OS. - cserrins 7 years ago
  • Corey, This script works great for me. If I push it with Kace, using the automated deployment, do the end users computers' bios need to be set to wake on lan? - clarkml 6 years ago
    • Yes! If you are going to deploy this after hours. Many users power off their systems. - jboling 6 years ago
  • okay, say it's during work hours, do their boot options need to be set to PXE boot as the first option in the bios? - clarkml 6 years ago
  • I got everything to work except updates still run when I have included the switch /dynamicupdates disable at the end of the post-installation task Upgrade Windows 10. Is it /dynamicupdates or /dynamicupdate? I've seen both. - clarkml 6 years ago
    • /dynamicupdate disable - cserrins 6 years ago
      • Is this supposed to disable the updates that run after the upgrade? - clarkml 6 years ago
      • /dynamicupdate : Specifies whether setup will perform Dynamic Update operations (search, download, and install updates).
        So updates will still run after the uprade has completed (later time), just not during the upgrade (as I understand it). - cserrins 6 years ago
  • Corey, do we know of a way to postpone installing windows 10 updates? It's takes more time to run all the updates than it does to upgrade to Windows 10. Or should I just tell my boss it takes about 45 minutes to upgrade to Windows 10 with the updates? - clarkml 6 years ago
    • /dynamicupdate disable should stop updates from installing during the upgrade. At least it did when Windows 10 was first released. Maybe they changed it in new builds, but this page still shows it (even though there is a typo because they forgot a '/'). https://blogs.technet.microsoft.com/home_is_where_i_lay_my_head/2015/09/14/windows-10-setup-command-line-switches/ - cserrins 6 years ago
      • is this bat script correct? %systemdrive%\win10\setup.exe /auto upgrade /installfrom %systemdrive%\win10\sources\install.wim /postoobe %systemdrive%\KACE\setupcomplete.cmd /noreboot /DynamicUpdate disable - clarkml 6 years ago
  • If %systemdrive%\win10 is where the contents of the source media is, looks great to me. - cserrins 6 years ago
    • Hi, we tried to use Method 3 from http://www.itninja.com/blog/view/upgrading-from-windows-7-8-to-windows-10-via-k1000-script but unfortunately it doesnt work. i can see that the download gets downlaoded but NOT unzipped to /Quest/KACE/downloads/id. However the command setup.exe /auto upgrade /installfrom C:\programdata\quest\kace\downloads\id\sources\install.wim /dynamicupdate disable does not run.

      Other managed installs like MS Office (setup.exe) work fine. Do you have any ideas? - TobiK 6 years ago
      • I would post this question on the K1 blog that outlines the process, I'm only an expert on the K2 side of the process. - cserrins 5 years ago
  • Thanks for this article. I have the task set up and ran a deployment. It failed at the Prepare Windows 10 Upgrade task with return code 65533. According to Quest, this is a timeout after reaching the limit of 8 hours. Since this was running overnight, I was not here to see if anything else had come up and I did not see any other notifications. My only thought is that the Windows setup is wanting input as to the version to install (Education, Professional, Enterprise, etc.) as our ISO shows that when installed manually. When deploying via the K1000 method, I was able to modify the sources\EI.cfg file and add a line to tell it the edition is Enterprise. How can I do the same (or similar) to tell setup that I want to install Enterprise? - ehansen 5 years ago
    • Create a midlevel task that copies that El.cfg file to the correct location on the workstation. - cserrins 5 years ago
      • Thanks. I'll give that a shot. - ehansen 5 years ago
      • Any update? - cserrins 5 years ago
  • Hi Corey. I'm having a task failure on "Upgrade to Windows 10" using the second method. Quest support says that an in-place upgrade is impossible using the K2000. I referenced this article and they said it was not valid. Any ideas? - blakeyg@doaks.org 5 years ago
    • Sorry you are having issues and that you were given this information. Though this process is not "supported" by the K2, it obviously is possible. What is step 2 and what is the error that is happening? - cserrins 5 years ago
  • Some reason I can't get it to make it to the post-install. Mid-level finishes and it auto logs in but never starts the "Upgrade to WIndows 10" part. Source_cd_id number picked and installed in "Prepare Windows 10 upgrade." Windows 10 was uploading using the media update from KACE. Don't know what I'm missing using the Custom Deployment. - scrocafella 5 years ago
    • You should verify that you changed the win10 source id to the right number and that it is on the workstation before rebooting. Also, the download for this is no longer available because you should be using version 6.0 of the K2000 and use the new custom deployment to accomplish this task, https://www.itninja.com/blog/view/custom-deployments - cserrins 5 years ago
      • Corey, I am following your 6.0 custom deployment. I have noticed that it does place a windows 10 folder on the C: drive with the files inside. Do it ever kick back over to finish up the post installs? Right now it is auto logged in with a Win 10 folder and files and a KACE folder with files on C drive. Do I need to manually restart? - scrocafella 5 years ago
  • This custom deployment task works well. However I have been testing the deployment in the KBE by selecting Custom Deployments and the the upgrade deployment I created. How can I make this deployment automated? I don't want my users to go through selecting the options in the KBE. If I change the BIOS to PXE, that all good and it boots to the KBE, but how do I kick off the Custom Deployment? The Automated Deployment job is set for "Run at Next Boot", and I have added the one MAC address I am testing. But it never runs. Thanks in advance - indycamper 5 years ago
  • Corey can I use this same method to Upgrade from LTSB/LTSC to CB? - keri.saxowsky 3 years 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