¿Puedo cambiar las descripciones de actualización en WSUS?

11

En cada día de parche de Microsoft, tengo una gran cantidad de nuevas actualizaciones que quiero aprobar para mis clientes. Pero en lugar de 'Aprobar todas las actualizaciones y continuar', recopilo información sobre cada actualización en su artículo de la Base de conocimiento para decidir si esta es una actualización importante para nosotros o no.

Esta es una tarea bastante tediosa, porque tengo que escribir el número KB correspondiente en el navegador de mi cliente y esperar a que se cargue la página web. Me preguntaba por qué Microsoft no está usando el cuadro de descripción de actualización en el panel de control de WSUS para mostrar información realmente útil y detallada. En cambio, todas mis actualizaciones dicen:

Instale esta actualización para resolver problemas en Windows. Para obtener una lista completa de los problemas que se incluyen en esta actualización, consulte el artículo asociado de Microsoft Knowledge Base para obtener más información. Después de instalar este elemento, es posible que deba reiniciar su computadora.

Empecé a pensar en un pequeño script de Powershell, que agrega la información necesaria para mí. Pero fallé en el primer paso, que es cambiar una descripción de actualización a mano:

PS C: \ Users \ Administrator> $ wsus = Get-WsusServer

PS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')

PS C: \ Users \ Administrator> $ update [0]. Descripción
Instale esta actualización para resolver problemas en Windows. Para obtener una lista completa de los problemas que se incluyen en esta actualización, consulte el artículo asociado de Microsoft Knowledge Base para obtener más información. Después de instalar este elemento, es posible que deba reiniciar su computadora.

PS C: \ Users \ Administrator> $ update [0] .Description = '"0x00000133" Error de detención cuando hay hardware defectuoso en Windows 8.1 o Windows Server 2012 R2'

PS C: \ Users \ Administrator> $ update [0]. Descripción
"0x00000133" Error de detención cuando hay hardware defectuoso en Windows 8.1 o Windows Server 2012 R2

PS C: \ Users \ Administrator> $ update = $ wsus.SearchUpdates ('KB3013791')

PS C: \ Users \ Administrator> $ update [0]. Descripción
Instale esta actualización para resolver problemas en Windows. Para obtener una lista completa de los problemas que se incluyen en esta actualización, consulte el artículo asociado de Microsoft Knowledge Base para obtener más información. Después de instalar este elemento, es posible que deba reiniciar su computadora.

Parece que mis cambios no se están confirmando en la base de datos. O me falta algún tipo de $wsus.SubmitChanges()o el $wsus.SearchUpdates()comando devuelve una 'actualización. Clonar ()' para que mis cambios se guarden en ninguna parte.

¿Cómo puedo lograr mi objetivo de cambiar las descripciones de actualización de WSUS?

Physikbuddha
fuente
$update[0].Description | Get-MemberEs posible que pueda usar la .Replace()función miembro, pero no está claro cómo manejar el cambio. Tendría que llamar de alguna manera a Set()pero no veo cómo funciona eso.
mortenya
Una pregunta relacionada sobre SuperUser pregunta acerca de lo que probablemente ya haya resuelto: cómo obtener una descripción significativa de cada actualización. Parece que ya has resuelto esa parte, te agradecería mucho que pudieras echar un vistazo. superuser.com/q/878753/99136
krlmlr
@krlmlr Debo haber perdido tu comentario sobre esta pregunta. Ahora que creé un programa real para mi problema descrito aquí, publiqué una respuesta a la pregunta anterior en su página de Superusuario.
Physikbuddha

Respuestas:

7

Actualizar

Al usar la respuesta a continuación, creé una pequeña herramienta que agrega automáticamente las descripciones a mi servidor WSUS. Decidí publicar mi herramienta en Github, así que siéntase libre de probarlo.

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

Captura de pantalla de muestra

Respuesta original

Traté de resolver el problema con Get-Member, como lo sugirió mortenya en la sección de comentarios, pero sin suerte.
Finalmente, terminé editando directamente la base de datos WSUS para cambiar la descripción.

¡Ten cuidado! Use mi solución solo si está absolutamente seguro de lo que está haciendo. Editar la base de datos de la que depende su servidor es como realizar una cirugía a corazón abierto con su mejor amigo.

Mi instalación de WSUS está utilizando la base de datos interna de Windows para almacenar la información de actualización. Como esta versión no permite consultas remotas, tuve que usar una instalación local de SQL Server Management Studio.
Conéctese a la base de datos utilizando el nombre del servidor proporcionado por el artículo vinculado anteriormente.

Pude cambiar la descripción de la actualización ejecutando esta consulta:

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

Esta es solo una forma de establecer la descripción a mano, por lo que haré más experimentos sobre cómo obtener las descripciones directamente desde el sitio web de KB y aplicarlas en todas las actualizaciones nuevas automáticamente. Agregaré la información a esta publicación.

Physikbuddha
fuente
Seguramente debería marcar su propia respuesta como aceptada . Se alienta la auto respuesta incluso .
jscott