Zum 23.08.2023 ist die NWC Services GmbH zur CANCOM GmbH geworden. Besuchen Sie uns gerne auf www.cancom.de
Toggle Bar

NWC Services Blog

Blogs von Consultants der NWC Services GmbH

Sneak Peek auf neue DSM-Funktionen: Benutzerdefinierte Aktionen auf Clients

Auch in der kommenden Version 2017 wird es wieder etliche sinnvolle Neuerungen geben, die DSM noch flexibler und damit universeller einsetzbar machen. Dabei mausert sich das System mehr und mehr vom reinen Softwareverteilsystem zur zentralen Konsole, mit der typische administrative Aufgabenstellungen des täglichen Geschäfts erledigt werden können.

Eines dieser neuen Features möchte ich in diesem Artikel vorstellen, nämlich die Möglichkeit, benutzerdefinierte Aktionen lokal auf DSM-gemanageten Clients ausführen zu lassen. Der Phantasie sind bei den Anwendungsfällen kaum Grenzen gesetzt, beispielsweise lassen sich damit dezentral die Logfiles einsammeln oder es findet es eine Bereinigung des Festplattenspeichers statt oder ein Client wird bei Verdacht auf Virenbefall nach Schadsoftware gescannt oder oder oder...

Die Umsetzung des Anti-Malware Scans mit Windows Defender möchte ich in diesem Artikel beispielhaft beschreiben.

Die meisten Leser dieses Blogs werden sicherlich die benutzerdefinierten Aufgaben aus DSM schon kennen. Damit kann die DSM Konsole um individuelle Kontextmenü-Einträge erweitert werden, über die sich beliebige Kommandozeilen-Tools oder Scripts einbinden lassen.

Bei solchen Aufgaben kann unterschieden werden, ob die auszuführende Aktion lokal auf dem Admin-Client ausgeführt werden sollen – wie beispielsweise einen Client anzupingen, um festzustellen, ob dieser online ist – oder ob die Aktion auf dem Zielsystem ausgeführt werden soll. Im letzteren Fall ist es jedoch erforderlich, dass einerseits das Tool oder Script ein Remoting beherrscht und andererseits, dass das Zielsystem vom Rechner, auf dem die Aktion gestartet wird, direkt erreicht werden kann. Auch müssen alle Ports, die zum Aufruf der Aktion erforderlich sind, auf dem Weg zum Ziel offen sein.

Mit DSM 2017 kommt nun ein weiterer Typ benutzerdefinierter Aufgaben hinzu, nämlich die Möglichkeit, solche Aktionen lokal auf den Endgeräten auszuführen. Dabei wird die Anweisung zur Ausführung einer Aufgabe über das DSM-interne Job-System übertragen, sodass die Notwendigkeit, den Client direkt erreichen zu können, entfällt. Stattdessen berechnet der BLS das Routing und erstellt einen Job, der bei Bedarf über weitere Management Points durch die DSM-Infrastruktur an das Zielsystem gesendet wird.

Um solch eine benutzerdefinierte Aktion zu definieren, sind zwei Schritte notwendig:

  • das auszuführende Tool oder Script muss auf dem Client bereitgestellt und registriert werden
  • die benutzerdefinierte Aktion muss in DSM definiert werden

Im hier vorgestellten Beispiel wird also im ersten Schritt das auszuführende Script erstellt. Da Windows Defender auf den modernen Windows Versionen bereits vorhanden ist, muss dieser "nur" entsprechend aufgerufen werden. Da sich Defender komfortabel per PowerShell automatisieren lässt, bietet sich die Verwendung eines eben solchen Scripts an:

b2ap3_thumbnail_DefenderScanPSScript_20171113-174806_1.png

Wie im Screenshot zu sehen, unterstützt das Script sowohl die Ausführung eines Quick-Scans (was hier auch implementiert werden soll), als auch die Möglichkeit eines Full-Scans.

Dieses Script muss nun auf die Endgeräte, auf denen es durch die benutzerdefinierte Aufgaben aufgerufen werden soll, verteilt werden. Dazu bietet sich natürlich ein ganz normales eScript-Paket mit einem InstallFile-Befehl an:

b2ap3_thumbnail_InstallScriptForCustomClientAction.png

Neben dem Kopiervorgang muss jedoch die Aufgabe auch für den Client registriert werden. Dies erfolgt durch den in DSM 2017 neuen Scriptbefehl RegisterUserDefinedAction, bei dem einerseits der Name der Aktion und andererseits die bei dieser Aktion auszuführende Scriptdatei angegeben werden muss. Es können VBScript und PowerShell-Scripts verwendet werden und im Rahmen der Ausführung der Aktion wird quasi ein CallScript-Befehl auf dem Client ausgeführt, sodass innerhalb der Scripts auf DSM-Variablen per NIGetVar bzw. Get-NIVar zugegriffen werden kann.

b2ap3_thumbnail_RegisterScriptForCustomClientActionCommand.png

Das zu verteilende Script könnte im einfachsten Fall zum Beispiel also folgendermaßen aussehen und wird als ganz normales eScript per Software-Policy an die Endgeräte verteilt:

b2ap3_thumbnail_RegisterScriptForCustomClientAction.png

Nun muss noch die benutzerdefinierte Aufgabe innerhalb der Aufgabenverwaltung der DSMC erstellt werden. Dazu wird im Kontextmenü des ORG-Objekts im Organisationsverzeichnis der Menüpunkt "Benutzerdefinierte Aufgaben verwalten..." aufgerufen und in der gewünschten Aufgaben-Gruppe eine neue Aufgabe erstellt. In diesem Beispiel wurde die systemseitig vorgegebene Aufgaben-Gruppe "Problembehebung" verwendet, sodass der neue Menüpunkt später neben den Standardeinträgen "Protokolldateien anzeigen", "DSM Client neu starten" oder "DSMDB-Cache erneuern" erscheint.

Zunächst wird der für die Aktion gewünschte Anzeigename angegeben:

b2ap3_thumbnail_NewCustomUITask01.png

Im nächsten Schritt wird festgelegt, für welchen Objekt-Typ die Aktion gültig ist, unter welchen Umständen sie angezeigt wird und aktiv ist und über welches Recht Benutzer verfügen müssen, damit sie die Aufgabe ausführen dürfen:

b2ap3_thumbnail_NewCustomUITask02.png

Wenn im nächsten Schritt nun bei "Ausführen auf:" der Eintrag "Client (asynchron)" ausgewählt wird, müssen im Feld "Programm" der Name der Aktion und im Feld "Argumente" eventuelle an das Script zu übergebende Kommandozeilen-Parameter angegeben werden:

b2ap3_thumbnail_NewCustomUITask03.png

Nach Abschluss des Assistenten stellt sich die benutzerdefinierte Aufgabe dann in der Übersicht wie folgt dar:

b2ap3_thumbnail_CustomUITasks.png

Sobald das im ersten Teil erstellte Paket an die Clients verteilt ist und diese die Aufgabe registriert haben, lässt sie sich dann auf den Objekten im Kontextmenü der DSM Konsole aufrufen.

b2ap3_thumbnail_CustomClientActionDSMC.png

Wie oben beschrieben, wird dann nicht das Script über die DSMC aufgerufen und versucht, auf dem Zielsystem eine Aktion anzustarten, stattdessen wird über das DSM Jobsystem ein Infrastruktur-Job erzeugt und an den Client geroutet, der das Script dann lokal ausführt.

×
Stay Informed

When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

Sneak Peek auf neue DSM Funktionen: Erweiterte Sit...
Darstellungsanpassung von deaktivierten Einträgen ...

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Bereits registriert? Hier einloggen
Donnerstag, 28. März 2024

Sicherheitscode (Captcha)