Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Удаление сразу ВСЕХ апдейтов.

Ответить
Настройки темы
Разное - [решено] Удаление сразу ВСЕХ апдейтов.

Аватара для sputnikk

Ветеран


Сообщения: 3840
Благодарности: 535


Конфигурация

Профиль | Отправить PM | Цитировать


Здравствуйте.

Приспичило снести все апдейты на виртуальной 7. Нашёл только такой способ http://www.cyberforum.ru/post7455021.html . Но он медленный, поскольку удаляет всё последовательно.
Может вам известен более быстрый вариант? Например загрузится с DVD и за несколько секунд снести всё через командную строку ?

P.S. Понадобилось, чтоб удалить непубличные обновления из пакета Simplix. Поскольку не знаю, что лишнее, удалю всё.

-------
Win 7SP1 MSDN +ESU/Embedded+2008 R2. Адресовано любителям переставлять Windows: СИФИЛИС ампутацией не лечат. ИМХО.


Отправлено: 07:35, 19-07-2015

 

Аватара для sputnikk

Ветеран


Сообщения: 3840
Благодарности: 535

Профиль | Отправить PM | Цитировать


Спасибо.

-------
Win 7SP1 MSDN +ESU/Embedded+2008 R2. Адресовано любителям переставлять Windows: СИФИЛИС ампутацией не лечат. ИМХО.


Отправлено: 10:57, 19-07-2015 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1240
Благодарности: 275

Профиль | Отправить PM | Цитировать


Небольшое уточнение. wmic qfe get hotfixid вернет список установленных обновлений, но у каждого из них номер будет указан с KB, то есть вот так:
KB958488
KB976902
KB982018
...
Если его просто через wusa /uninstall /kb:%i /quiet ... направить в выходной файл, то команды работать не будут - в ключе /kb: должен быть номер без начальных KB.
Вот такой пакетный файл сформирует правильно:
для удаления всех установленных обновлений
@echo off
set UNINSTALL_CMD="%USERPROFILE%\Desktop\updates_uninstall.cmd"
echo @echo off>%UNINSTALL_CMD%

setlocal EnableDelayedExpansion
for /f "usebackq" %%I in (`wmic qfe get hotfixid ^| findstr KB`) do (
set KB=%%I
set NUM=!KB:KB=!
echo echo Uninstalling %%I...>>%UNINSTALL_CMD%
echo start /w wusa.exe /uninstall /quiet /norestart /kb:!NUM!>>%UNINSTALL_CMD%
)

echo pause>>%UNINSTALL_CMD%

также вместо формирования пакетного файла для удалений можно просто сразу эти обновления удалять, для этого нужно в строках 9 и 10 убрать первое слово echo, а 3-ю и последние строки можно удалить или закоментарить.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:20, 19-07-2015 | #12



Administrator


Сообщения: 25151
Благодарности: 3803

Профиль | Сайт | Отправить PM | Цитировать


Да, спасибо, я не учел наличие KB в списке.

Добавлено:

Можно еще в PS:
Код: Выделить весь код
Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid} | % {$_ -replace "KB", ""} | Set-Content "$Env:userprofile\Desktop\updates.txt"

$HotFixIDs = (gc "$Env:userprofile\Desktop\updates.txt")

Foreach($HotfixID in $HotFixIDs) {wusa /uninstall /KB:$HotfixID /norestart /quiet
Write-Host "Удаление KB$HotFixID"
Wait-Process wusa
Start-Sleep -s 3}

-------
FAQ по Windows 10 .::. Настройка Центра обновления в Windows 10 .::. Чистая установка Windows 10 – пошаговая инструкция


Отправлено: 11:22, 19-07-2015 | #13


Новый участник


Сообщения: 3
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата sputnikk:
Батник не смог удалить 5 апдейтов, хотя удаляет через строку от имени администратора.
wusa.exe /uninstall /KB:2533552 /quiet /norestart
wusa.exe /uninstall /KB:2884256 /quiet /norestart
wusa.exe /uninstall /KB:3020369 /quiet /norestart
wusa.exe /uninstall /KB:3020370 /quiet /norestart
wusa.exe /uninstall /KB:976902 /quiet /norestart
Но и вручную не могу. Может чего не хватает. В меню не появляется кнопка "удалить".»
976902 - это Service Pack 1. Так что он и не должен удаляться в принципе.
А вот с 2533552; 2884256; 3020369; 3020370; 3161102 (и подобными им) другая проблема.
Они почему-то числятся как "легитимные", потому их невозможно удалить ни соответствующей кнопкой в Центре Обновлений, ни через BAT-скрипт. К тому же, на самом деле часть из них - вредоносные. В частности это касается 3020370 и 3161102.

Но дать право на их удаление возможно. Но придется помучаться.
Все установленные обновления Windows хранятся в пути C:\Windows\servicing\Packages.
К каждому установленному обновлению относятся определенные файлы, в имени которых фигурирует KB-номер. Как правило, количество таких файлов колебается от 4 до 6 для каждого обновления, (у 976932 таких файлов 5).

Например, у обновления 3020370 6 файлов:

Package_1_for_KB3020370~31bf3856ad364e35~x86~~6.1.1.17514.cat
Package_1_for_KB3020370~31bf3856ad364e35~x86~~6.1.1.17514.mum
Package_for_KB3020370~31bf3856ad364e35~x86~~6.1.1.17514.mum
Package_for_KB3020370_RTM~31bf3856ad364e35~x86~~6.1.1.17514.cat
Package_for_KB3020370_RTM~31bf3856ad364e35~x86~~6.1.1.17514.mum
Package_for_KB3020370~31bf3856ad364e35~x86~~6.1.1.17514.cat

Эти файлы в свойствах должны иметь только одного владельца для удаления. В данном случае, тебя. После чего к этим файлам нужно сделать полный доступ к чтению, удалению и т. д. Все это делается во вкладке "Безопасность".
Как только все файлы одного обновления пройдут процесс получения полного доступа к ним, при перезагрузке Центра Обновлений кнопка "Удалить" появится при выборе обновления, в данном случае, 3020370. Более того, теперь его можно удалить через BAT-скрипт.
То же самое надо сделать с другими обновлениями. Да, это тяжко, но иначе никак.

Хотя, программка Take Ownership немножко упростит это дело. Она даст возможность удалить эти файлы хотя бы вручную.
В ней мы выбираем путь C:\Windows\servicing\Packages, и запускаем активацию прав доступа. Ждем, когда процесс закончится.
А потом спокойно вручную удаляем файлы.
Поскольку программа не дает полного доступа, кнопка "Удалить" в Центре Обновлений не появится. Скорее всего, в этом случае, через BAT-скрипт удаление тоже не пройдет (лично не пробовал).
Как-то вот так вот.

Отправлено: 19:47, 17-03-2019 | #14


Аватара для sputnikk

Ветеран


Сообщения: 3840
Благодарности: 535

Профиль | Отправить PM | Цитировать


Цитата Midnight Kid:
А вот с 2533552; 2884256; 3020369; 3020370; 3161102 (и подобными им) другая проблема »
не помню, может они ставятся с дистрибутива при установке ОС

-------
Win 7SP1 MSDN +ESU/Embedded+2008 R2. Адресовано любителям переставлять Windows: СИФИЛИС ампутацией не лечат. ИМХО.


Отправлено: 06:00, 18-03-2019 | #15


Новый участник


Сообщения: 3
Благодарности: 10

Профиль | Отправить PM | Цитировать


Цитата sputnikk:
не помню, может они ставятся с дистрибутива при установке ОС »
Точно не с чистой. Разве что сборка имела интегрированные обновления.
Кстати, нашел альтернативу, как отобразить кнопку "Удалить". Такие "критические" обновления изначально делаются перманентными, чтобы их нельзя было удалить штатно.
Но есть решение сделать их удаляемыми по ссылке:
https://borncity.com/win/2016/10/21/...ion-erzwingen/
Это в дополнение к тому, что я в предыдущем посте накатал.

Отправлено: 15:08, 18-03-2019 | #16



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Удаление сразу ВСЕХ апдейтов.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удаление всех файлов (всех типов) из всех подпапок, кроме расширений txt kot318 Скриптовые языки администрирования Windows 10 12-02-2015 15:48
CMD/BAT - [решено] Удаление всех файлов с одним именем на всех дисках ZARG-X Скриптовые языки администрирования Windows 3 08-03-2010 11:53
CMD/BAT - [решено] Удаление всех папок с одним именем на всех дисках volk1234 Скриптовые языки администрирования Windows 15 13-11-2009 02:13
удаление сразу всех устройств из системы Metamorph Microsoft Windows NT/2000/2003 14 03-02-2003 16:08




 
Переход