Login

Blog

Hier blogge ich über Themen, die mich - und vielleicht auch andere - interessieren (könnten)

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.

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

Related Posts

 

Comments

No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Guest
Sunday, 08 December 2019

Captcha Image