Возвращаем “скрытые” пользователем обновления WSUS
Я думаю, все, кто использует WSUS, сталкивался с ситуацией, когда пользователю лень ждать установки обновления, перезагружать ПК. И пользователь просто “отключает” обновление. Как результат – обновление не встало, ошибок в консоли мы не видим. А поставить обновление необходимо. Решим задачу!
И поможет нам в этом сценарий на WSH (при этом код обёртки сознательно опускаю):
function main() { _debug.step = "инициализация подключения к Microsoft.Update.Searcher"; var oSearcher = WScript.CreateObject("Microsoft.Update.Searcher"); // Использование локального кэша информации oSearcher.Online = false; _debug.step = "поиск скрытых обновлений"; var oSearchResult = oSearcher.Search("IsHidden = 1"); _debug.step = "восстановление скрытых обновлений"; if (0 == oSearchResult.Updates.Count) { _debug.info ("Проверка завершена, скрытые обновления не обнаружены."); } else { for ( var i = new Enumerator(oSearchResult.Updates); !i.atEnd(); i.moveNext() ) { // http://msdn.microsoft.com/en-us/library/aa386099(VS.85).aspx var update = i.item(); _debug.step = "восстановление обновления \"" + update.Title + "\""; update.IsHidden = false; _debug.info ("успешно восстановлено обновление"); }; }; };
Размещаем созданный нами файл каталоге GPO (например — \\novgaro.ru\SysVol\novgaro.ru\Policies\{00D864F5-03B1-466C-AAE7-09264DBB288F}\Machine\Scripts\Startup), и этой же политикой через GPP вешаем назначенное задание на рабочие станции, запускающее данный сценарий в период простоя.
На этом – всё :-).
P.S. В ближайшее время перепишу данный сценарий под powershell, пока не ругайте…
P.P.S. Кстати – второе задание, которое Вы видите в политике, отвечает за запуск службы обновлений в период простоя, а не при загрузке ПК, чтобы не создавать проблем в начала рабочего дня. Этой же политикой установлен режим запуска службы автоматических обновлений вручную.
RSS комментарии
Обратная ссылка