We have been experimenting with ways to upgrade our 3000 Windows 10 version 1709/1803/1809 laptops (we have desktops). About 2/3rds of them are remote users.
Currently, we are using the MS-provided file: Windows10Upgrade9252.exe in a Kaseya script from Automation Exchange. It has a couple of major problems, though:
After we send the script, which says SUCCESS 100% of the time, the upgrade begins some 30 to 120 minutes after, varying wildly due to bandwidth, processor speed, current load, etc.. So that's bad.
The script may not go off at all: the process fails without error about a quarter of the time, probably due to interrupted network access. That's bad.
The update itself starts without warning. Terrible.
It takes over an hour during which the laptop is unusable. Our users are prepared for this, but because it may or may not start the when the user is expected it to, it might happen randomly when the user has appointments and presentations. Really bad.
So our big question: is there a Windows 10 1909 feature update package that comes with a scheduler, the very same one that MS uses when it pushes a version update to the world?
Understand I am not asking for scheduling when the initial script goes off - we know how to do that - but rather, as part of the experience, the end user would get a little pop-up window asking when it would be convenient to update the laptop. Has this already been solved for anyone out there?
Thanks so much!
I have been working on once that attempts to manage the user experience, although it has not reached a decent beta quality yet, but i'll get it there when I can find some time.
I agree that the problem with scripting an update often isn't simply running the update. Its managing the user who wants to do this thing called work...
There is no such deal. Microsoft doesn't give options in the upgrader. The best you can offer users for Win10 version upgrade timing is to have them open Windows Update settings manually, and click Check for Updates, then they can choose to do the version upgrades. (this should work on 180x and higher, regardless of other Windows Update settings)
Using the Kaseya procedure to run the updater silently, you can guestimate times for them but that's about it.
That's about the only two options short of giving users local admin rights to run the updater manually.
We're basically at the mercy of Microsoft's settings in the upgrader program and/or Windows updates.
My solution involves running the Windows10Upgrade9252.exe with the GUI if a user is logged in, otherwise run it silently as system. I also handle elevating it to run as admin (which was the tricky hurdle) as most users are not local admins. The install timing isn't really the issue so much as the unexpected reboot if it was run silently.
jared.w as per your query about elevating a process in the user session. it is possible but requires extra code and tools.
powershell to the rescue:
if you want to put it in a procedure you'll need various command parameters to automate it, as it asks lotsa questions.
some older docs here, to get you started: woshub.com/pswindowsupdate-module
install-module pswindowsupdate now works directly and avoids the need to copy and install the powershell module manually.
I run it like this: /QuietInstall /SkipEULA /NoReboot /UninstallUponUpgrade and no forced reboot happens, the updating starts at the next reboot which I tell the end user. That /NoReboot switch did not work for a while but the latest version of Windows10Upgrade9252.exe has brought it back it seems. Sometimes I might also use /SkipCompatCheck switch.
You could also use ABC-Update via command line to install Windows Updates: abc-deploy.com/abc-update
It requires .Net 3.5 to work though.
dotnet 3.5 is a prerequisite for the win10 feature upgrade.
also you should have 10GB of free space.
should run these tests before firing out automated installs.