3

Во время своего молниеносного Windows 10 некоторые болванки в Microsoft подумали, что было бы хорошей идеей распространять "ворчливые" маркетинговые сообщения пользователям Windows 7 под видом обновлений Windows. Что еще хуже, им потребовалось несколько попыток, чтобы сделать это правильно, в результате чего появилось несколько связанных патчей, которые могут быть показаны.

Когда я устанавливаю новые компьютеры с Windows 7 SP1 с нуля (и да, для этого все еще есть законные причины), каков самый быстрый и простой способ предотвратить применение этих нежелательных "обновлений"?

2 ответа2

2

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

Dim msg
msg = "Searching for and hiding six Windows Updates related to Windows 10 nagging." & vbCrLf
msg = msg & "Be patient; this may take a LONG time during which nothing appears to happen."
msg = msg & " You can tell the script is still running by using Task Manager and looking for wscript.exe"
Wscript.echo msg

Dim hideupdates(5)
hideupdates(0) = "KB3035583"
hideupdates(1) = "KB2952664"
hideupdates(2) = "KB2976978"
hideupdates(3) = "KB3021917"
hideupdates(4) = "KB3044374"
hideupdates(5) = "KB2990214"

Dim status(5)
For i = 0 to UBound(status)
  status(i) = "notfound"
Next

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

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

dim results
Set results = searchResult.Updates
For i = 0 To results.Count-1
  set update = results.Item(i)
  For j = LBound(hideupdates) To UBound(hideupdates)
    if instr(1, update.Title, hideupdates(j), vbTextCompare) > 0 then
      if update.IsHidden then
        status(j) = "alreadyhidden"
      else
        update.IsHidden = True
        status(j) = "hidden"
      end if
    end if
  Next
Next

Dim alreadyhidden
Dim hidden
Dim notfound

for i = 0 to UBound(status)
  Select Case status(i)
    Case "alreadyhidden"
      alreadyhidden = alreadyhidden & hideupdates(i) & vbCrLf
    Case "notfound"
      notfound = notfound & hideupdates(i) & vbCrLf
    Case "hidden"
      hidden = hidden & hideupdates(i) & vbCrLf
  End Select
next
msg = "Hid these Windows 10 related updates:" & vbCrLf
msg = msg & hidden & vbCrLf
msg = msg & "These ones were already hidden:" & vbCrLf
msg = msg & alreadyhidden & vbCrLf
msg = msg & "These ones were not found on this machine:" & vbCrLf
msg = msg & notfound

Wscript.echo msg

5]

0

Цитата rkagerer "каков самый быстрый и простой способ предотвратить применение этих нежелательных" обновлений "?« Если вы делаете новую установку, чем

«Снимите флажок Рекомендуемые обновления (необязательно) в настройках обновления Windows».

Он гласит «Дайте мне рекомендованные обновления так же, как я получаю важные обновления». После этого вы можете индивидуально проверить рекомендуемые обновления, которые вы хотите установить, если таковые имеются. Я не рекомендую устанавливать каждое рекомендуемое обновление, выбрасываемое MS. Недавно это создало больше беспорядка, чем пользы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .