PDA

Показать полную графическую версию : Массовое удаление обновлений.


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

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

ispolin
18-09-2015, 13:38
если знать какие именно нужно удалить обновления, то можно массово удалить через батник
как пример, я удаляю "проблемные" обновления

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

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

Dzirt2005
18-09-2015, 16:02
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
Dzirt2005, а зачем это все? Не было бы проще отформатировать по примеру ispolin, затем просто поменять .txt на .cmd?

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

Iska
19-09-2015, 05:59
Спасибо. это все хорошо и понятно и известно. но мне нужно удалить, например, за 1 число сентября месяца, где 120 обновлений стоит например. переписывать все 120 обновлений а bat-ник как-то... возможно есть более кардинальный способ.
хотя думаю проще будет так:
wmic qfe list > c:\list.txt - получить список обновлений в списке в текстовом документе. »
Вот именно для «wmic.exe qfe» есть «InstalledOn», по которому можно сразу отфильтровать потребное, наподобие:
wmic.exe QFE where "InstalledOn = '9/1/2015'" get HotFixID




© OSzone.net 2001-2012