While you can disable the "Idle Maintenance" and "Maintenance Configurator" tasks, under \Microsoft\Windows\TaskScheduler, they will get re-enabled by the "Maintenance Configurator" task, which by default runs at 01:00 every day. In addition, it has two custom triggers, which cannot be viewed or edited using the Task Scheduler console.
Even as an admin, you don't have permission to disable the "Maintenance Configurator" task, though I haven't tried any "tricks" to do so - If Microsoft has gone through these lengths to prevent you from disabling it, it's probably a bad idea to do.
The relatively "clean" way I found to disable Idle and Regular Maintenance, that seems to still work after the "Maintenance Configurator" task has run, is to disable the triggers of the "Idle Maintenance" and "Maintenance Configurator" tasks.
The task will remain enabled, but with triggers disabled, it won't actually start.
(My answer is based on Windows Server 2012, which also has this "feature". I'm assuming it's setup the same way. Correct if I'm wrong)
1There are times when maintenance is completely useless and just a waste of power. In our case we have an automated test system that starts a VM from a certain snapshot, runs some tests and then reverts the VM to the snapshot. Whatever changes the OS make to itself in this time frame will be lost. The only "win" is that our tests takes >300% longer to execute. Since the maintenance task(s) also sets the "Run task as soon as possible..." option, just scheduling at another time doesn't feel solid. Besides as our tests grow, we may soon not have any other time to schedule it to. – Andreas Magnusson – 2014-10-02T07:59:17.653
Since I cannot post an answer (despite having more than 10 reputation), I'll post what we found to work for us as a comment. We have verified that this also works on the latest Win10 builds. Create the DWORD value
MaintenanceDisabled
under the keyHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance
and set it to 1. – Andreas Magnusson – 2015-02-05T12:55:49.3603I haven't researched it enough to answer definitively (So @Luke don't worry I won't make this an answer) so instead I'll say it's in scheduled tasks, but it's going to be in several places under Task Scheduler Library\Microsoft\Windows such as Diagnosis, Maintenance, etc. It's probably a bad idea to disable any of it, maybe instead schedule it for sometime when you can pause your VMs or something. Good luck. – Mark Allen – 2012-11-01T07:41:38.330
I would recommend not shutting it off completely. It's there for a reason. – Trevor Sullivan – 2012-11-08T16:50:41.270