Jump to content
Robert McClure

Upgrading from Windows 7 to Windows 10

Recommended Posts

We are working with our clients on moving everyone to Windows 10 when. In order to do this we are trying to determine the best method for handling this remotely. The hope is that we could do this through Automate, though I am not sure that is possible. I'd like to know/hear how others are working with their clients to upgrade endpoints from Windows 7 to Windows 10. Are you going onsite or doing it remote? What tools are being used? What issues or stumbling blocks have you run into?


Any input would be great! 

Share this post

Link to post
Share on other sites
Posted (edited)

We saw this new company at the IT Nation Explore conference, and they won some level of the PitchIT contest.  It seems very promising, and we will be looking into them soon.  


It does both application management, as well as a "beta-ish" implementation of Win7 to 10 in-place upgrades.

Edit: It is also Automate/Manage integrated.

Edited by adelamora

Share this post

Link to post
Share on other sites
Posted (edited)


This was not as easy as it looked. I ran into many issues I had to solve. I did take several snippets from multiple scripts I found including the feature update scripts and added my own solutions to the problems I encountered to come up with a working script which I have used many times recently with no problems. This will need moderate customization and moderate knowledge of scripting to debug these scripts for YOUR environment.

Examples of problems?

#1. Windows 7 does not have powershell scripting to mount an ISO image, so I had to use zip files and unzip them for the script

#2. Unzip has an apparent 2gb limitation? Regardless, I used 7za.exe (7zip) and by the way, 7 zip has so many switches that change depending upon if it’s “After Labor Day, Summer, etc…” with each version. I personally downloaded the 7zip (32 bit and 64 bit) and copied the 32bit 7za.exe from my program files into the Labtech transfer folder to use. I used the correct switches for this version.

#3. I added a Disable UAC script and Reboot script prior to installation due to some inconsistencies I encountered. (Lines 46-48 I added Run Script disable uac, run script reboot computer, sleep 180 seconds)

#4. Hosted Automate server doesn’t give much room for huge ISO files, so I used dropbox (And also created an internal server share script)

Another Note: In order to get the correct/current ISO I had to use Microsoft media creation tool and create the ISO’s for 32bit and 64bit (Needed for correct detection) and furthermore had to use PowerISO to save the ISO’s into zip format (See above about windows 7 and powershell)

Anyway, I realize these scripts could be cleaner and more robust (You should see my desk). However, they are functional and work with no user intervention. But please, test test test within your environment before going into critical production environments. If nothing else, I am hoping I have provided a building block to build on and to have solved the problems many have had. And by all means, if anyone wants to make them better, please do! I take no responsibility for any damage, so please test test test in your environment prior to implementing into production. My contribution and input was to assist the community with a solution I created that worked for us. 

https://www.7-zip.org/download.html - 7zip

https://go.microsoft.com/fwlink/?LinkId=691209 - Windows 10 Media Creation Tool

https://www.dropbox.com/ - dropbox

https://www.poweriso.com/ - Poweriso to convert iso to zip

https://blogs.technet.microsoft.com/home_is_where_i_lay_my_head/2015/09/14/windows-10-setup-command-line-switches/ - Windows 10 setup switches for the curious





(Sanitized)Upgrade Windows 7 to Windows 10 using dropbox

Line 30/31: Set your dropbox link locations for 32/64 bit ZIP files (Must be zip converted from the isos created by Media Creation Tool) (note the dl=1 switch, it is important). Also, I only used and tested Win7pro and Win10Pro 32bit and 64bit. You may have to modify this to do other versions.

Line 36: Once you have imported the script and saved it within your script folder, modify this line to point to YOUR location.

Line 45: Here you can see the switches I used with 7za.exe (7zip) I would test this at a command prompt to verify switches work for you. 7zip has different switches for different versions. Google is your friend. I used basic “x” extract and “-o” for output directory

Line 59: You can adjust these switches if you want, more specifically many people turn off updates /dynamicupdate disable… I prefer current updates.

Lines 70-72: Ticket creation, modify for yourself.


(Sanitized)Upgrade Windows 7 to Windows 10 using windows share

Same steps as above, except line 30/31 will be Server\share locations.

Disable UAC.xml Reboot computer.xml(Sanitized)Upgrade Windows 7 to Windows 10 from Server Share.xml(Sanitized)Upgrade Windows 7 to Windows 10 from Dropbox.xml

Edited by Rafe Spaulding
Cleaned up files

Share this post

Link to post
Share on other sites

We did something similar to how @Rafe Spaulding did it. Most machines were mobile laptops, so had to download to each workstation individually. First rolled out PowerShell v5 to utilize BitsTransfer through PS, provided the ability to download in the background on user machines during idle time and not on metered connections as most were sales people roaming the states and typically used hotspots. Downloaded the ISO's from Microsoft's Media Creation ToolKit website. A little trick, go to the website, switch in developer mode to emulate ipad/safari browser. It'll let you just download the iso you want. Saved those iso's to OneDrive and used BitsTransfer to download from a "anyone" shared link. We didn't have to worry about UAC as the upgrades ran silently in the background under the system account. The 7za trick is neat, we used a different 3rd party tool that mounted the ISO and extracted to a local directory via command line. Then of course had a friendly script that would run when the upgrade was ready to be started, it allowed the user to initiate the upgrade by clicking yes and counted the number of times users clicked no. Prompted each time the user clicked no and after X amount of times, the upgrade forced itself.

  • Thanks 1

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...