Ein Kunde von uns hatte die Anforderung, dass die Patches von Microsoft im späteren Workflow anders behandelt werden sollten als die Patches von Drittanbietern. Vereinfacht dargestellt sollten erstere auf eine Gruppe und die der Drittanbieter auf eine andere Computergruppe zugewiesen werden.

Der Patch Management Dienst ist so konfiguriert, dass alle Patches einer statischen Computergruppe namens "DownloadOnly" zugewiesen werden, die allerdings keine Computer enthält. Von da aus werden sie mittels Targetlistenerweiterung weiter an die Gruppen "Microsoft" bzw. "ThirdParty" verteilt.

Die Pilotgruppen sind hier ausser acht gelassen, es geht um die grundsätzliche Logik.

Die Anforderung lässt sich mit den im Lieferumfang vorhandenen Möglichkeiten des Advanced Patch Managements nicht abbilden bzw. automatisieren. Da der Kunde jedoch die PowerShell Extensions für FrontRange DSM (PSX) im Einsatz hat, war die Lösung schnell erstellt und umgesetzt. Folgender Lösungsansatz wurde erarbeitet:

  1. Feststellen, ob das PSX Modul schon geladen wurde
  2. Alle Patch Policies der Gruppe "DownloadOnly" einlesen
  3. Überprüfen, ob die Policy aktiv ist, da nur aktive Policies bearbeitet werden sollen  
  4. Feststellen, ob es sich bei dem Patch um einen Patch von Micrososft oder eines Drittanbierters handelt
  5. Überprüfen, ob der Patch der jeweiligen Gruppe "Microsoft" oder "ThirdParty" schon zugewiesen wurde
  6. Wurde der Patch noch nicht zugewiesen, ist die Targetliste des Patches um die jeweilige Patch Gruppe zu erweitern

Hier ist das der entsprechende PowerShell Code, der allerdings nur die grundliegende Lösung zeigen soll. Im fertigen Skript sind noch Fehlerabfragen integriert und die Ausgaben werden in eine Protokolldatei geschrieben.

apm

Im Anschluss an den erfolgreichen Test wurde ein "Scheduled Task" erstellt, der dieses Skript periodisch aufruft.

Insgesamt hat der Systemadministrator für die Umsetzung dank PSX nicht mehr als ca. zwei Stunden benötigt. Sehr schön ist im PowerShell Skript zu sehen, wie auf einfache Weise der Hersteller eines Softwarepaketes über die Policy abgefragt werden kann. Genauso einfach ist es andere Eigenschaften eines Objektes abzufragen, inklusiver Eigenschaften aus Schemaerweiterungen.

Ein Hinweis noch: NWC Services übernimmt keine Haftung für das Codebeispiel. Sie benutzen es auf eigene Gefahr.