Могу ли я изменить описания обновлений в WSUS?


11

В каждый день исправлений 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" Остановить ошибку при наличии неисправного оборудования в Windows 8.1 или Windows Server 2012 R2'

PS C: \ Users \ Administrator> $ update [0]. Описание
"0x00000133" Остановить ошибку при наличии неисправного оборудования в Windows 8.1 или Windows Server 2012 R2

PS C: \ Users \ Администратор> $ update = $ wsus.SearchUpdates ('KB3013791')

PS C: \ Users \ Administrator> $ update [0]. Описание
Установите это обновление, чтобы устранить проблемы в Windows. Полный список проблем, включенных в это обновление, см. В соответствующей статье базы знаний Майкрософт для получения дополнительной информации. После установки этого элемента может потребоваться перезагрузить компьютер.

Кажется, что мои изменения не фиксируются в базе данных. Либо я пропускаю какой-то тип, $wsus.SubmitChanges()либо $wsus.SearchUpdates()команда возвращает update.Clone (), чтобы мои изменения были сохранены в никуда.

Как я могу достичь своей цели - изменить описания обновлений WSUS?


$update[0].Description | Get-MemberВозможно, вы сможете использовать .Replace()функцию-член, но не ясно, как справиться с ее изменением. Вам нужно как-нибудь позвонить, Set()но я не понимаю, как это работает.
Мортеня

Соответствующий вопрос в SuperUser спрашивает о том, что вы, вероятно, уже решили: как получить содержательное описание каждого обновления. Похоже, вы уже решили эту часть, я был бы очень признателен, если бы вы взглянули. superuser.com/q/878753/99136
krlmlr

@krlmlr Я, должно быть, пропустил ваш комментарий по этому вопросу. Теперь, когда я создал реальную программу для моей проблемы, описанной здесь, я разместил ответ на вопрос выше на странице Superuser.
Physikbuddha

Ответы:


7

Обновить

Используя ответ ниже, я создал небольшой инструмент, который автоматически добавляет описания на мой сервер 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

Это просто способ задать описание вручную, поэтому я собираюсь провести дополнительные эксперименты по получению описаний непосредственно с веб-сайта КБ и применять их ко всем новым обновлениям автоматически. Я добавлю информацию в этот пост.


Вы почти наверняка отметите свой ответ как принятый . Сам ответ приветствуется даже .
Jscott
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.