Войти

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


nokogerra
17-11-2014, 09:28
Доброго времени суток.
Была создана политика со startup-скриптом, устанавливающим KB943729 (CSE GPP для Windows XP). Необходимо проверить успешность установки, нашел несколько способов, но сработал только 1, может кто-то подскажет почему не работают другие.

1. Проверить test-path`ом существует ли папка "C:\WINDOWS\$NtUninstallKB943729$" на целевой машине, но я наткнулся на проблему - нужный kb установлен, но такой папки нет, соответственно способ такой не надежен. Кто-то может сказать почему искомой папки нет?
2. Проверить get-hotfix`ом по id ("KB943729"), но в списке выдается куча ID вида "file 1" и у всех пустой description. Я видел несколько тредов, где люди сталкивались с такой же проблемой, но так и не сказано почему такое происходит. В моем случае KB943729 нет в списке хотфиксов, так что видимо он подпадает под один из "file 1".
3. Рабочим вариантом для меня отказался

get-wmiobject -Class Win32_QuickFixEngineering -Filter "ServicePackInEffect='KB943729'" ...

здесь все понятно.

Спасибо заранее.

Iska
17-11-2014, 12:30
почему искомой папки нет? »
а) установка производилась с параметром «/nobackup»; б) по каким-то причинам не удалось создать эту папку; в) АХЗ.

2. Проверить get-hotfix`ом по id ("KB943729"), но в списке выдается куча ID вида "file 1" и у всех пустой description. Я видел несколько тредов, где люди сталкивались с такой же проблемой, но так и не сказано почему такое происходит. В моем случае KB943729 нет в списке хотфиксов, так что видимо он подпадает под один из "file 1".

3. Рабочим вариантом для меня отказался
get-wmiobject -Class Win32_QuickFixEngineering -Filter "ServicePackInEffect='KB943729'" ... »
Именно так. Отчего Microsoft решило подобным образом разнообразить жизнь системным администраторам (наверное, чтоб мёдом не казалась) — не знаю. Но суть в том, что для каждого обновления ключами экземпляра класса «Win32_QuickFixEngineering» в наборе является именно пара «HotFixID»+«ServicePackInEffect», причём само именование KBXXX (или иной отличительный признак) может присутствовать как в «HotFixID», так и в «ServicePackInEffect».

Насколько мне известно, выбранный Вами способ с использованием Wbem класса «Win32_QuickFixEngineering» является наиболее предпочтительным.

nokogerra
17-11-2014, 13:29
Установка проводилась с /passive и /norestart и только.

По поводу отсутствия имени KB в ID при выводе get-hotfix понял, спасибо MS.

nokogerra
17-11-2014, 14:21
По поводу отсутствия папки "C:\WINDOWS\$NtUninstallKB943729$" есть у кого-нибудь еще идеи?

Foreigner
17-11-2014, 19:13
есть у кого-нибудь еще идеи? »
Достаточно почистить обновления и этих папок вообще не будет. Или через графический cleanmgr.exe или через консольный dism.exe:

dism /online /cleanup-image /analyzecomponentstore - анализ
dism /online /cleanup-image /startcomponentcleanup - чистка

nokogerra
18-11-2014, 06:36
Доброго времени суток.
Спасибо за ответ, но честно говоря я не понял что значит "почистить". Буду откровенен: я слабо представляю процесс обновления за пределами GUI, кроме того, что обновления закачиваются в каталог %windir%\SoftwareDistribution\Download и потом оттуда почему-то не удаляются, т.е. что за папки аля $NtUninstallKB943729$ и что за логи обновлений в %windir% я не знаю. Можете объяснить на пальцах что значит "почистить", а лучше дать ссылку с "deepdive" по процессу обновления Windows, я честно искал, но внятного ничего не нашел кроме общих FAQ на майкрософт.
Спасибо заранее.




© OSzone.net 2001-2012