Kann ich die Updatebeschreibungen in WSUS ändern?

11

An jedem Microsoft-Patch-Tag habe ich eine große Anzahl neuer Updates, die ich meinen Kunden genehmigen möchte. Aber anstatt "Alle Updates genehmigen und fortfahren", sammle ich Informationen zu jedem Update in seinem Knowledge Base-Artikel, um zu entscheiden, ob dies ein wichtiges Update für uns ist oder nicht.

Dies ist eine ziemlich mühsame Aufgabe, da ich die entsprechende KB-Nummer in den Browser meines Kunden eingeben und warten muss, bis die Webseite geladen ist. Ich habe mich gefragt, warum Microsoft das Update-Beschreibungsfeld in der WSUS-Systemsteuerung nicht verwendet, um wirklich hilfreiche, detaillierte Informationen anzuzeigen. Stattdessen lauten alle meine Updates:

Installieren Sie dieses Update, um Probleme in Windows zu beheben. Eine vollständige Liste der in diesem Update enthaltenen Probleme finden Sie im zugehörigen Microsoft Knowledge Base-Artikel. Nach der Installation dieses Elements müssen Sie möglicherweise Ihren Computer neu starten.

Ich begann über ein kleines Powershell-Skript nachzudenken, das die notwendigen Informationen für mich hinzufügt. Aber ich bin beim ersten Schritt gescheitert, bei dem eine Update-Beschreibung von Hand geändert wird:

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

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

PS C: \ Benutzer \ Administrator> $ update [0]. Beschreibung
Installieren Sie dieses Update, um Probleme in Windows zu beheben. Eine vollständige Liste der in diesem Update enthaltenen Probleme finden Sie im zugehörigen Microsoft Knowledge Base-Artikel. Nach der Installation dieses Elements müssen Sie möglicherweise Ihren Computer neu starten.

PS C: \ Benutzer \ Administrator> $ update [0] .Description = '"0x00000133" Fehler stoppen, wenn in Windows 8.1 oder Windows Server 2012 R2 fehlerhafte Hardware vorhanden ist.'

PS C: \ Benutzer \ Administrator> $ update [0] .Beschreibung
" 0x00000133 " Beenden Sie den Fehler, wenn in Windows 8.1 oder Windows Server 2012 R2 fehlerhafte Hardware vorhanden ist

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

PS C: \ Benutzer \ Administrator> $ update [0]. Beschreibung
Installieren Sie dieses Update, um Probleme in Windows zu beheben. Eine vollständige Liste der in diesem Update enthaltenen Probleme finden Sie im zugehörigen Microsoft Knowledge Base-Artikel. Nach der Installation dieses Elements müssen Sie möglicherweise Ihren Computer neu starten.

Es scheint, dass meine Änderungen nicht in die Datenbank übernommen werden. Entweder fehlt mir eine Art $wsus.SubmitChanges()oder der $wsus.SearchUpdates()Befehl gibt ein 'update.Clone ()' zurück, damit meine Änderungen nirgendwo gespeichert werden.

Wie kann ich mein Ziel erreichen, die Beschreibungen der WSUS-Updates zu ändern?

Physikbuddha
quelle
$update[0].Description | Get-MemberMöglicherweise können Sie die Elementfunktion verwenden .Replace(), es ist jedoch nicht klar, wie Sie mit dem Ändern umgehen sollen. Sie müssten irgendwie einen anrufen, Set()aber ich sehe nicht sofort, wie das funktioniert.
Mortenya
In einer verwandten Frage zu SuperUser wird gefragt, was Sie wahrscheinlich bereits gelöst haben: So erhalten Sie eine aussagekräftige Beschreibung der einzelnen Updates. Es sieht so aus, als hätten Sie diesen Teil bereits gelöst. Ich würde mich sehr freuen, wenn Sie einen Blick darauf werfen könnten. superuser.com/q/878753/99136
krlmlr
@krlmlr Ich muss Ihren Kommentar zu dieser Frage verpasst haben. Nachdem ich ein aktuelles Programm für mein hier beschriebenes Problem erstellt habe, habe ich auf der Superuser-Seite eine Antwort auf die obige Frage veröffentlicht.
Physikbuddha

Antworten:

7

Aktualisieren

Mit der folgenden Antwort habe ich ein kleines Tool erstellt, das die Beschreibungen automatisch zu meinem WSUS-Server hinzufügt. Ich habe beschlossen, mein Tool auf Github zu veröffentlichen. Probieren Sie es einfach aus.

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

Beispiel-Screenshot

Ursprüngliche Antwort

Ich habe versucht, das Problem mit Get-Member zu lösen, wie von mortenya im Kommentarbereich vorgeschlagen, aber ohne Glück.
Schließlich habe ich die WSUS-Datenbank direkt bearbeitet, um die Beschreibung zu ändern.

Achtung! Verwenden Sie meine Lösung nur, wenn Sie absolut sicher sind, was Sie tun. Das Bearbeiten der Datenbank, von der Ihr Server abhängig ist, entspricht einer Operation am offenen Herzen Ihres besten Freundes.

Meine WSUS-Installation verwendet die interne Windows-Datenbank zum Speichern der Aktualisierungsinformationen. Da diese Version keine Remote-Abfragen zulässt, musste ich eine lokale Installation von SQL Server Management Studio verwenden.
Stellen Sie unter Verwendung des Servernamens, der in dem oben verlinkten Artikel angegeben ist, eine Verbindung zur Datenbank her.

Ich konnte die Update-Beschreibung durch Ausführen dieser Abfrage ändern:

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

Dies ist nur eine Möglichkeit, die Beschreibung von Hand festzulegen. Daher werde ich weitere Experimente durchführen, um die Beschreibungen direkt von der KB-Website abzurufen und sie automatisch auf alle neuen Updates anzuwenden. Ich werde die Informationen zu diesem Beitrag hinzufügen.

Physikbuddha
quelle
Sie sollten Ihre eigene Antwort mit ziemlicher Sicherheit als akzeptiert markieren . Selbstantwort wird sogar ermutigt .
Jscott