Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 7 (http://forum.oszone.net/forumdisplay.php?f=95)
-   -   Массовое удаление обновлений. (http://forum.oszone.net/showthread.php?t=305599)

R529 18-09-2015 12:42 2554735

Массовое удаление обновлений.
 
Дорого времени. Вопрос уже давно волнует меня. есть лицензионная Windows 7. регулярно скачиваются и устанавливаются обновления из Центра обновления. вопрос: можно ли каким-то образом удалить обновления за определенную дату сразу, массово, а не по отдельности каждое на момент закачки обновлений. спасибо.

sXeRostik 18-09-2015 12:56 2554741

R529, можете, только удалять их все равно придется вручную и по одному.
Зайдите в Центр Обновления Windows, слева внизу есть кнопка Установленные обновления.
Зайдите туда, перед Вами появится список обновлений. Нажмите на надпись Установлено, и список обновлений упорядочится по дате установки. Затем ищете нужную дату и удаляете мх.

ispolin 18-09-2015 13:38 2554761

если знать какие именно нужно удалить обновления, то можно массово удалить через батник
как пример, я удаляю "проблемные" обновления

wusa.exe /uninstall /kb:2859537
wusa.exe /uninstall /kb:2872339
wusa.exe /uninstall /kb:2882822
wusa.exe /uninstall /kb:3045999
wusa.exe /uninstall /kb:3060716
wusa.exe /uninstall /kb:3071756

текст сохранить как cmd

R529 18-09-2015 14:36 2554787

Спасибо. это все хорошо и понятно и известно. но мне нужно удалить, например, за 1 число сентября месяца, где 120 обновлений стоит например. переписывать все 120 обновлений а bat-ник как-то... возможно есть более кардинальный способ.

хотя думаю проще будет так:
wmic qfe list > c:\list.txt - получить список обновлений в списке в текстовом документе.
затем открыть текстовый документ в Excel и выделить таблично разово те, что нужны по дате. выделить все какие нужны и забить их в bat-ник и запустить на выполнение.

Dzirt2005 18-09-2015 16:02 2554861

R529, так или иначе формируете файл list.txt (например, при помощи wmic qfe get HotFixID >list.txt). Файл должен быть в однобайтной кодировке (Win1251 или CP886, wmic qfe get HotFixID формирует его в Unicode значит нужно преобразовать) и содержать номер KB в каждой строке с буквами KB или без которые вы хотите удалить из системы, например:

KB917607
KB2479943
KB2506014
2506212
2506928

(список чисто условный, для примера). Кладете рядом с ним пакетный файл (например с именем delete_unneсessary_updates.cmd) следующего содержания:

Код:

@echo off
for /f "delims=KB tokens=*" %%I in (list.txt) do (
  echo Uninstall KB%%I...
  start /wait "" wusa /uninstall /kb:%%I /norestart /quiet
  )

ну и все... Файл list.txt можете править как угодно, за кодировкой только следите, с Unicode не работает, и перегружаться потом нужно вручную, в самом файле перезагрузка (даже если она нужна) отключена.

sXeRostik 18-09-2015 16:09 2554867

Dzirt2005, а зачем это все? Не было бы проще отформатировать по примеру ispolin, затем просто поменять .txt на .cmd?

Dzirt2005 18-09-2015 16:17 2554873

sXeRostik, меньше действий когда нужно удалить/добавить еще KB для удаления - следовательно, меньше вероятность сделать ошибку где-то и потом ее долго и нудно искать. Но я естественно не настаиваю. :)

Iska 19-09-2015 05:59 2555042

Цитата:

Цитата R529
Спасибо. это все хорошо и понятно и известно. но мне нужно удалить, например, за 1 число сентября месяца, где 120 обновлений стоит например. переписывать все 120 обновлений а bat-ник как-то... возможно есть более кардинальный способ.
хотя думаю проще будет так:
wmic qfe list > c:\list.txt - получить список обновлений в списке в текстовом документе. »

Вот именно для «wmic.exe qfe» есть «InstalledOn», по которому можно сразу отфильтровать потребное, наподобие:
Код:

wmic.exe QFE where "InstalledOn = '9/1/2015'" get HotFixID


Время: 21:46.

Время: 21:46.
© OSzone.net 2001-