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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Проверка установленных обновлений.

Ответить
Настройки темы
PowerShell - Проверка установленных обновлений.

Старожил


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

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


Доброго времени суток.
Была создана политика со 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'" ...
здесь все понятно.

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

Отправлено: 09:28, 17-11-2014

 

Ветеран


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

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


Цитата nokogerra:
почему искомой папки нет? »
а) установка производилась с параметром «/nobackup»; б) по каким-то причинам не удалось создать эту папку; в) АХЗ.

Цитата nokogerra:
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» является наиболее предпочтительным.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:30, 17-11-2014 | #2



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

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


Старожил


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

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


Установка проводилась с /passive и /norestart и только.

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

Отправлено: 13:29, 17-11-2014 | #3


Старожил


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

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


По поводу отсутствия папки "C:\WINDOWS\$NtUninstallKB943729$" есть у кого-нибудь еще идеи?

Отправлено: 14:21, 17-11-2014 | #4


Ветеран


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

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


Цитата nokogerra:
есть у кого-нибудь еще идеи? »
Достаточно почистить обновления и этих папок вообще не будет. Или через графический cleanmgr.exe или через консольный dism.exe:
Код: Выделить весь код
dism /online /cleanup-image /analyzecomponentstore - анализ
dism /online /cleanup-image /startcomponentcleanup - чистка
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:13, 17-11-2014 | #5


Старожил


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

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


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

Отправлено: 06:36, 18-11-2014 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Проверка установленных обновлений.

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - В списке установленных обновлений появился SP1 (kb976932) Denisoff Microsoft Windows 7 15 15-08-2014 00:09
CMD/BAT - скрипт чистильщика системы от установленных обновлений ms office specialist Скриптовые языки администрирования Windows 8 24-09-2013 19:49
CMD/BAT - [решено] Отсчет установленных обновлений sov44 Скриптовые языки администрирования Windows 11 19-06-2011 12:06
Интерфейс - Нет установленных обновлений при просмотре через панель управления шумелка мышь Microsoft Windows 7 4 28-10-2010 20:29
Проверка обновлений на сайте Sun-rise AutoIt 3 11-06-2009 23:46




 
Переход