Меры по отключению Windows Update

Борьба с обновлениями Windows (да, я знаю что некоторые считают уместным оставлять обновления на усмотрение Microsoft, но моё мнение строго противоположное) имеет вполне очевидные решения — просто блокировкой адресов соответствующих серверов либо на уровне windows filtering platform, либо на маршрутизаторе типа моего Mikrotik или любого другого, позволяющего чёрные списки.

Однако меня раздражает, что в Windows 10 есть сущности, неподвластные даже пользователю категории «Администратор». К таковым, в частности, относятся сервисы Update Orchestrator Service (UsoSvc), Windows Update Medic Service (WaaSMedicSvc), а также событие планировщика под названием performremediation. Перечисленные объекты невозможно отключить, выполнение команд:

Set-Service -Name WaaSMedicSvc -StartupType Disabled
Set-Service -Name UsoSvc -StartupType Disabled
Set-Service -Name wuauserv -StartupType Disabled
Disable-ScheduledTask -TaskPath "\Microsoft\Windows\WaaSMedic\" -TaskName "performremediation"

даст ошибку «Access denied», то есть у администратора недостаточно прав… Собственно, установив на компьютер Windows 10, вы подписались на то, что компьютер будет делать то, что хотят другие…

Для решения почти всех проблем есть два способа. Оба позволяют запустить консоль с повышением прав с пользователя-администратора до TrustedInstaller или до System. В первую очередь это nsudo, но можно воспользоваться и PsExec от Руссиновича (Sysinternals).

После скачивания nsudo я бы рекомендовал переименовать nsudoc (консольную версию) в nsudo и наоборот.

Запускаем ту или иную (cmd или powershell) консоль под локальным администратором, после чего выполняем nsudoс -U:T powershell, и открывается окно powershell с привилегиями TrustedInstaller. Там уже можно выполнить либо

Set-Service -Name WaaSMedicSvc -StartupType Disabled

либо написать скрипт, который будет отключать сервисы по списку, вроде этого:

$srv = "BITS","UsoSvc","WaaSMedicSvc","WSearch"

$srv | foreach { Set-Service $_ -StartupType Disabled }

Конечно, следует не забыть отключить и задачи планировщика:

Disable-ScheduledTask "\Microsoft\Windows\UpdateOrchestrator\Schedule Retry Scan"
Disable-ScheduledTask "\Microsoft\Windows\UpdateOrchestrator\Schedule Scan"
Disable-ScheduledTask "\Microsoft\Windows\UpdateOrchestrator\USO_Broker_Display"
Disable-ScheduledTask "\Microsoft\Windows\WindowsUpdate\Scheduled Start"
Disable-ScheduledTask "\Microsoft\Windows\WindowsUpdate\sih"