Disassembler0 / Win10-Initial-Setup-Script

PowerShell script for automation of routine tasks done after fresh installations of Windows 10 / Server 2016 / Server 2019
MIT License
4.69k stars 1.08k forks source link

DisableUpdateMSProducts doesn't seem to work on Windows 10 2004 #320

Closed averms closed 4 years ago

averms commented 4 years ago

I have DisableUpdateMSProducts in my preset and I have run the script and restarted but I am still shown that "Receive updates for other Microsoft Products when you update Windows" is enabled. screenshot of Windows Settings

When I turn it off manually it doesn't save my setting (I'm not sure why).

averms commented 4 years ago

Also this is off-topic but Cortana is back in my Start Menu too. I followed the instructions in https://winaero.com/blog/uninstall-and-remove-cortana-in-windows-10-version-2004/ and got rid of it.

JustMyGithub commented 4 years ago

Not sure whether this is related, MoUsoCoreWorker.exe handles windows Updates now instead of wuauclt.exe - But I dont know whether this changed from 1909 to 2004 or earlier (I upgraded 1803 to 2004)

Disassembler0 commented 4 years ago

Lol, alright. I was puzzled by "I have DisableUpdateMSProducts in my preset", because that used to be the default. So congrats, @a-vrma for finding yet another Microsoft bug. 1909 had Microsoft updates disabled by default. 2004 has it still disabled by default, but the control displays it as enabled. If you simply try to disable it, nothing changes. You need to manually disable, enable, disable, so the Microsoft update gets registered as a service managed by the update service manager and then it stays registered and disabled. DisableUpdateMSProducts tweak can't be used to fix the graphical bug, as it reverts the setting to the "factory default", which in this case means that it unregisters the update service, so the control bugs again.

So basically there's no need to change anything in the script and Microsoft needs to sort this one on their side.

Disassembler0 commented 4 years ago

As a side note, the actual status can be checked with

((New-Object -ComObject Microsoft.Update.ServiceManager).Services | Where-Object { $_.ServiceID -eq "7971f918-a847-4430-9279-4a52d1efe18d" }).IsRegisteredWithAU
averms commented 4 years ago

Thanks!