Как скриптом убрать уведомление об обновлении до Windows 10

Как многие уже заметили, Microsoft яростно предлагает и продвигает Windows 10 (ярлычок "Получить Windows 10"). В том числе и через службу обновлений.

Чтобы это быстро и безболезненно отключить, надо скачать и запустить скрипт из аттача.

Либо найти в списке обновлений KB3035583, KB2952664, KB3021917 и плюс KB2976978 (если стоит Windows 8). Из них только KB3035583 отвечает за саму иконку, а остальные - за проверку системы на возможность апдейта до 10 версии ОС, плюс отправка статистики в компанию.

Скрипт состоит из 2х файлов. Runme.cmd:

WUSA /UNINSTALL /KB:3021917

WUSA /UNINSTALL /KB:2952664

WUSA /UNINSTALL /KB:3035583

WUSA /UNINSTALL /KB:2976978

cscript //nologo "hide-kb.vbs"

Удаляет сами обновления и запускает скрипт для отключения последующих установок этих обновлений (аналогично нажатию правой кнопкой мыши на обновление с последующим его скрытием).

Файл hide-kb.vbs:

Dim hideupdates(4)

hideupdates(0) = "KB3021917"

hideupdates(1) = "KB2952664"

hideupdates(2) = "KB3035583"

hideupdates(3) = "KB2976978"

set updateSession = createObject("Microsoft.Update.Session")

set updateSearcher = updateSession.CreateupdateSearcher()

Set searchResult = updateSearcher.Search("IsHidden=0 and IsInstalled=0 and Type='Software'")

For i = 0 To searchResult.Updates.Count-1

set update = searchResult.Updates.Item(i)

For j = LBound(hideupdates) To UBound(hideupdates)

'MsgBox hideupdates(j)

if instr(1, update.Title, hideupdates(j), vbTextCompare) = 0 then

'Wscript.echo "No match found for " & hideupdates(j)

else

'Wscript.echo "Hiding " & hideupdates(j)

update.IsHidden = True

end if

Next

Next

Соответственно ищет и скрывает обновления из установки. Это чтобы кнопка снова не появилась.

После запуска Runme.cmd надо перезагрузить систему.