Чи можу я змінити описи оновлень у WSUS?


11

Кожен день виправлення Майкрософт у мене з’являється досить велика кількість нових оновлень, які я хочу схвалити своїм клієнтам. Але замість "Затвердити всі оновлення та продовжувати" я збираю інформацію про кожне оновлення у статті бази знань, щоб вирішити, чи це важливе оновлення для нас чи ні.

Це досить виснажливе завдання, тому що я маю набрати відповідний номер КБ у браузері свого клієнта і чекати завантаження веб-сторінки. Мені було цікаво, чому Microsoft не використовує поле опису оновлень на панелі керування WSUS для показу реальної корисної, детальної інформації. Натомість усі мої оновлення читали:

Встановіть це оновлення, щоб вирішити проблеми в Windows. Повний перелік проблем, що входять до цього оновлення, див. Пов’язану статтю бази знань Microsoft для отримання додаткової інформації. Після установки цього елемента, можливо, доведеться перезавантажити комп'ютер.

Я почав думати про маленький сценарій Powershell, який додає необхідної для мене інформації. Але я не зміг на першому кроці, який змінює опис оновлення вручну:

PS C: \ Користувачі \ Адміністратор> $ wsus = Get-WsusServer

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

PS C: \ Користувачі \ Адміністратор> $ update [0]. Опис
Встановіть це оновлення, щоб вирішити проблеми в Windows. Повний перелік проблем, що входять до цього оновлення, див. Пов’язану статтю бази знань Microsoft для отримання додаткової інформації. Після установки цього елемента, можливо, доведеться перезавантажити комп'ютер.

PS C: \ Користувачі \ Адміністратор> $ update [0] .Description = '"0x00000133" Зупинка помилки, коли в Windows 8.1 або Windows Server 2012 R2 є несправне обладнання "

PS C: \ Користувачі \ Адміністратор> $ update [0].
Опис "0x00000133" Зупинка помилки, коли в Windows 8.1 або Windows Server 2012 R2 є несправне обладнання

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

PS C: \ Користувачі \ Адміністратор> $ update [0]. Опис
Встановіть це оновлення, щоб вирішити проблеми в Windows. Повний перелік проблем, що входять до цього оновлення, див. Пов’язану статтю бази знань Microsoft для отримання додаткової інформації. Після установки цього елемента, можливо, доведеться перезавантажити комп'ютер.

Здається, що мої зміни не вносяться до бази даних. Або я пропускаю якесь $wsus.SubmitChanges()або $wsus.SearchUpdates()команда повертає 'update.Clone ()', так що мої зміни зберігаються нікуди.

Як я можу досягти своєї мети змінити описи оновлення WSUS?


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

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

@krlmlr Я, мабуть, пропустив ваш коментар до цього питання. Тепер, коли я створив фактичну програму для моєї проблеми, описаної тут, я опублікував відповідь на вищезазначене питання на своїй сторінці суперпользователя.
Physikbuddha

Відповіді:


7

Оновлення

Використовуючи відповідь нижче, я створив невеликий інструмент, який автоматично додає описи на мій сервер WSUS. Я вирішив опублікувати свій інструмент на Github, тому не соромтеся спробувати його.

https://github.com/Physikbuddha/wsus-online-descriptions/releases/latest

Зразок скріншота

Оригінальний відповідь

Я намагався вирішити проблему з Get-Member, як це запропонував mortenya в розділі коментарів, але не пощастило.
Нарешті, я змінив опис безпосередньо в редагуванні бази даних WSUS.

Будь обережний! Використовуйте моє рішення, лише якщо ви абсолютно впевнені, що робите. Редагування бази даних, від якої залежить ваш сервер, - це як операція на відкритому серці на найкращому другові.

Моя установка WSUS використовує внутрішню базу даних Windows для зберігання інформації про оновлення. Оскільки ця версія не дозволяє віддалені запити, мені довелося використовувати локальну установку студії управління SQL Server.
Підключіться до бази даних за допомогою імені сервера, наданого статтею, зв'язаною вище.

Мені вдалося змінити опис оновлення, запустивши цей запит:

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 та застосувати їх до всіх нових оновлень автоматично. Я додам інформацію до цієї публікації.


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