Каждый день обновлений Microsoft у меня появляется довольно много новых обновлений, которые я хочу одобрить для своих клиентов. Но вместо «Утвердить все обновления и продолжить» я собираю информацию о каждом обновлении в его статье базы знаний, чтобы решить, является ли это обновление важным для нас или нет.
Это довольно утомительная задача, потому что мне нужно ввести соответствующий номер базы знаний в браузере моего клиента и дождаться загрузки веб-страницы. Мне было интересно, почему Microsoft не использует поле описания обновления на панели управления WSUS для отображения действительно полезной и подробной информации. Вместо этого все мои обновления гласили:
Установите это обновление, чтобы решить проблемы в Windows. Полный список проблем, включенных в это обновление, см. В соответствующей статье базы знаний Майкрософт. После установки этого элемента вам может потребоваться перезагрузить компьютер.
Я начал думать о небольшом скрипте Powershell, который добавляет мне необходимую информацию. Но я потерпел неудачу на первом шаге, который заключается в изменении описания обновления вручную:
PS C: \ Users \ Администратор> $ wsus = Get-WsusServer
PS C: \ Users \ Администратор> $ update = $ wsus.SearchUpdates ('KB3013791')
PS C: \ Users \ Administrator> $ update [0]. Описание
Установите это обновление, чтобы решить проблемы в Windows. Полный список проблем, включенных в это обновление, см. В соответствующей статье базы знаний Майкрософт. После установки этого элемента вам может потребоваться перезагрузить компьютер.PS C: \ Users \ Administrator> $ update [0] .Description = '"0x00000133" Stop-ошибка при неисправном оборудовании в Windows 8.1 или Windows Server 2012 R2'
PS C: \ Users \ Administrator> $ update [0]. Описание
Stop-ошибка «0x00000133» при неисправном оборудовании в Windows 8.1 или Windows Server 2012 R2PS C: \ Users \ Администратор> $ update = $ wsus.SearchUpdates ('KB3013791')
PS C: \ Users \ Administrator> $ update [0]. Описание
Установите это обновление, чтобы решить проблемы в Windows. Полный список проблем, включенных в это обновление, см. В соответствующей статье базы знаний Майкрософт. После установки этого элемента вам может потребоваться перезагрузить компьютер.
Похоже, мои изменения не фиксируются в базе данных. Либо мне не хватает какой-то $wsus.SubmitChanges()
или $wsus.SearchUpdates()
команда возвращает update.Clone (), так что мои изменения никуда не сохраняются.
Как я могу достичь своей цели по изменению описаний обновлений WSUS?
Используя ответ ниже, я создал небольшой инструмент, который автоматически добавляет описания на мой сервер WSUS. Я решил опубликовать свой инструмент на Github, так что не стесняйтесь попробовать и протестировать его.
https://github.com/Physikbuddha/wsus-online-descriptions/releases/latest
Я попытался решить проблему с помощью Get-Member, как предложил Мортеня в разделе комментариев, но безуспешно.
Наконец, я закончил непосредственное редактирование базы данных WSUS, чтобы изменить описание.
Быть осторожен! Используйте мое решение, только если вы абсолютно уверены в том, что делаете. Редактирование базы данных, от которой зависит ваш сервер, похоже на операцию на открытом сердце вашему лучшему другу.
Моя установка WSUS использует Внутренняя база данных Windows для хранения информации об обновлении. Поскольку эта версия не поддерживает удаленные запросы, мне пришлось использовать локальную установку SQL Server Management Studio.
Подключитесь к базе данных, используя имя сервера, указанное в статье, указанной выше.
Мне удалось изменить описание обновления, выполнив этот запрос:
UPDATE tbPreComputedLocalizedProperty
SET Description = '"0x00000133" Stop error when there''s faulty hardware in Windows 8.1 or Windows Server 2012 R2'
FROM tbPreComputedLocalizedProperty p
JOIN tbUpdate u ON p.UpdateID = u.UpdateID
JOIN tbRevision r ON u.LocalUpdateID = r.LocalUpdateID
JOIN tbKBArticleForRevision kb ON r.RevisionID = kb.RevisionID
WHERE kb.KBArticleID LIKE '3013791' AND p.ShortLanguage = 'en'
GO
Это просто способ задать описание вручную, поэтому я собираюсь провести дальнейшие эксперименты, чтобы узнать, как получить описания прямо с веб-сайта KB и автоматически применять их ко всем новым обновлениям. Я добавлю информацию в этот пост.