kazuonion
Goto Top

WSUS abgelehnte Treiber deinstallieren? (Skript?)

Guten Tag

Ich habe eine Frage zum WSUS.

Wir besitzen in unserer Firma einen WSUS, welcher auch die Treiber lädt. Dies soll laut unserem Boss so bleiben.

Ich wollte fragen, ob jemand ein Skript kennt mit dem ich wenigsten die vielen abeglehnten Treiber deinstallieren kann. Damit sie nicht mehr angezeigt werden und die angezeigte Update Zahl endlich mal kleiner wird.

Der WSUS läuft sonst ziemlich stabil face-smile

Vielen Dank im Voraus

Content-ID: 4033105894

Url: https://administrator.de/contentid/4033105894

Ausgedruckt am: 20.11.2024 um 04:11 Uhr

NordicMike
NordicMike 23.09.2022 um 08:51:05 Uhr
Goto Top
Abgelehnte Treiber wurden nicht installiert, also kannst du sie auch nicht deinstallieren.
Kazuonion
Kazuonion 23.09.2022 um 08:55:48 Uhr
Goto Top
Ja ich habe das ein bisschen falsch formuliert. Es sind Treiber Updates welche nachträglich abgelehnt wurden.

Ich möchte, dass sie jetzt gar nicht mehr angezeigt werden und nicht noch in der Konsole als abgelehnt verweilen.

Falls jemand so ein Skript kennt.
manuel-r
Lösung manuel-r 23.09.2022 aktualisiert um 09:18:16 Uhr
Goto Top
$WsusServer = Get-WsusServer -Name <hostname> -PortNumber <port>
Invoke-WsusServerCleanup -UpdateServer $WsusServer -CleanupObsoleteComputers -Confirm:$false
Invoke-WsusServerCleanup -UpdateServer $WsusServer -DeclineExpiredUpdates -Confirm:$false
Invoke-WsusServerCleanup -UpdateServer $WsusServer -DeclineSupersededUpdates -Confirm:$false
Invoke-WsusServerCleanup -UpdateServer $WsusServer -CleanupObsoleteUpdates -Confirm:$false
Invoke-WsusServerCleanup -UpdateServer $WsusServer -CleanupUnneededContentFiles -Confirm:$false
Invoke-WsusServerCleanup -UpdateServer $WsusServer -CompressUpdates -Confirm:$false

Manuel
jsysde
jsysde 23.09.2022, aktualisiert am 24.09.2022 um 12:19:55 Uhr
Goto Top
Moin.

Zitat von @Kazuonion:
[...]Ich möchte, dass sie jetzt gar nicht mehr angezeigt werden und nicht noch in der Konsole als abgelehnt verweilen.
Das ist nicht möglich - der WSUS zeigt dir, in der ungefilterten Ansicht, immer alles an, was auch synchronisiert wird. Bau dir entsprechende "Update-Ansichten", die die abgelehnten Updates nicht anzeigen - damit isses getan.

Abgelehnte Updates werden beim Ausführen der "Serverbereinigung" vom System entfernt, d.h. die fressen auch keinen Speicherplatz auf dem WSUS. Bedeutet natürlich, dass man diese Bereinigung sehr regelmäßig durchführen muss.

Cheers,
jsysde
CH3COOH
CH3COOH 23.09.2022 um 17:14:41 Uhr
Goto Top
Nabend,
also wenn es dir um die reine Anzeige von abgelehnten Updates angeht, oder selektiver die Anzeige von abgelehnten Updates der Kategorie Treiber, dann hast du nur die Möglichkeit diese "Hart" auf der Datenbank auszublenden bzw. zu löschen. Ich würde den Weg aber nicht gehen...
Man lehnt Updates nicht grundlos ab, entsprechend gibt es wenig Gründe in die abgelehnten Updates reinzuschauen.
Gruß
jsysde
jsysde 24.09.2022 um 12:22:00 Uhr
Goto Top
Moin.
Zitat von @CH3COOH:
[...]die Möglichkeit diese "Hart" auf der Datenbank auszublenden[...]
Rein interessehalber: Wenn auf dem WSUS ein Sync läuft - würden die dann nicht erneut in die DB eingepflegt werden? Und ohne Sync ist so ein WSUS ja irgendwie nutzlos...

Wie würde dein SQL-Statement dazu ausschauen?

Cheers,
jsysde
manuel-r
manuel-r 24.09.2022 um 13:25:13 Uhr
Goto Top
Gegenfrage. Rein interessehalber.
Ich habe dir oben ein passendes Script gepostet. Warum nutzt du nicht einfach das anstatt irgendwelche wilden Dinge auf der Datenbank machen zu wollen die zudem auch nicht supported sind?

Manuel
Kazuonion
Kazuonion 04.10.2022 um 08:31:17 Uhr
Goto Top
Ich werde dieses natürlich testen. Nun befinde ich mich aber gerade in den Ferien. Ich werde das Skript direkt nächste Woche ausprobieren

LG
Kazuonion
Kazuonion 11.10.2022 um 11:08:36 Uhr
Goto Top
Ich habe dieses jetzt getestet, aber es erfüllt nicht meine Anforderungen. Es sind immer noch gleich viele Treiber.

Lg
CH3COOH
Lösung CH3COOH 11.10.2022 um 19:13:58 Uhr
Goto Top
Nabend,
versuchs mal damit:
(Get-WsusServer).GetUpdates() | Where {$_.IsDeclined -and $_.UpdateClassificationTitle -eq "Treiber" }|ForEach-Object {(Get-WsusServer).DeleteUpdate($_.Id.UpdateId.ToString());}  
Wenn das Ding auf Englisch läuft natürlich "Treiber" durch "Drivers" ersetzten, sollte klar sein.

Bitte beachte das ein ausgewachsenerWSUS Server schnell >100.000 Updates (für Treiber) in seiner Datenbank hat. Die Skriptlaufzeit ist abhängig von der Menge an Treibern, in einer Testfarm lief das Ding jetzt ne gute Zeit lang...

@jsysde Bei meine Test sind die Dinger nicht wieder in die DB gekommen; hab es aber auch jetzt nur anhand vom $WSUS.GetStatus()verglichen und nicht in der GUI.
Gruß