Ich versuche, einen Weg zu finden, um einen WSUS-Bericht mit Updates zu erstellen, die für Computergruppe A genehmigt wurden und für eine oder mehrere andere Gruppen nicht genehmigt wurden. Alternativ ein tabellarischer Bericht, in dem der Genehmigungsstatus für jedes Update und jede Gruppe aufgeführt ist, damit er verarbeitet werden kann, um das zu extrahieren, was ich benötige. Es scheint keinen solchen Bericht in WSUS selbst zu geben, oder zumindest keinen, den ich finden kann. Daher wäre ein Skript zur Erstellung eines solchen Berichts sehr willkommen.
9
Antworten:
Dieses Powershell-Skript macht genau das, was Ihre ursprüngliche Anfrage war. Untersuchen Sie eine Computergruppe und suchen Sie nach Updates, die für eine oder mehrere andere Computergruppen nicht genehmigt wurden.
Hinweis Sie müssen dies entweder auf einem WSUS-Server oder auf einem Computer ausführen, auf dem die WSUS-Verwaltungstools installiert sind.
Aufbau
Stellen Sie
$targetComputerGroup
die Computergruppe ein, die Sie als Basis verwenden möchten. Stellen Sie$CheckForMissing
die Namen der Gruppe oder Gruppen ein, für die Sie sehen möchten, ob sie genehmigt wurden. Hinweis: Um Vielfache zu machen, müssen Sie nur das Koma trennen ("Gruppe1, Gruppe2").Wenn Sie fertig sind, haben Sie eine Ausgabe wie folgt ausgegeben:
Wenn Sie die Liste nicht auf dem Bildschirm ausgeben, sondern in eine CSV exportieren möchten, ersetzen Sie den unteren Teil durch den folgenden Code:
quelle
Man kann "einfach" eine Verbindung zur WSUS-Datenbank herstellen und Abfragen dagegen ausführen:
\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query
Verwendung von Windows - Authentifizierung .Diese Tabellen scheinen in Bezug auf Ihre Frage von Interesse zu sein:
tbUpdate
Enthält Informationen zu einzelnen Updates
tbTargetGroup
Enthält Informationen zu allen Computergruppen
tbDeployment
Enthält Informationen darüber, welche Updates für welche Computergruppen genehmigt wurden
Es erscheint jedoch vorteilhaft, die bereits vorhandene Ansicht
vUpdateApproval
zu verwenden, um die meisten Informationen abzurufen, nach denen Sie suchen, da diese Ansicht dieActionID
SpaltetbDeployment
unter anderem bereits übersetzt .Die
vUpdateApproval
Ansicht enthält jedoch keine leicht lesbaren Titel für Aktualisierungen. Die Titel werden normalerweise aus gelesentbLocalizedProperty
. Um es uns einfacher zu machen, gibt es noch eine andere Sichtweise :vUpdate
.Ich habe nicht wirklich die richtigen Daten in unserer WSUS-Datenbank, um die richtige Abfrage zu erstellen, die zu Ihrer ersten Anfrage passt (und ich bin nicht sicher genug, um sie blind zu erstellen). Hier ist ein Ansatz für Ihre sekundäre Anfrage. Wenn ich es nicht vermasselt habe, wird eine Liste aller Aktualisierungen und der Genehmigungsstatus für alle Gruppen erstellt.
Welches erzeugt diese Ausgabe auf unserem deutschen SBS:
Für unseren SBS mit seinen 5 Standardgruppen werden 121558 Ergebniszeilen in ~ 26 Sekunden erzeugt. Wenn Sie also mit der Abfrage herumspielen möchten, kann es ratsam sein,
SELECT TOP 1000
beim Testen die erste Zeile in zu ändern .Ich habe mir auch die Zeit genommen, alles in ein PowerShell-Skript zu packen:
Bitte beachten Sie, dass dieses Skript die
SELECT TOP 10
Einschränkung enthält, um ein Überfluten Ihrer Shell während des Testens zu vermeiden.quelle
myscript.ps1 | fl
, um eine andere (nicht abgeschnittene) Ausgabe zu erhalten.