Powershell & DRACOON API

Powershell war, ist und bleibt eines der wichtigsten Werkzeuge in der Welt der IT Administration, zumindest in der Windows Welt. Darum habe ich mir diese Sprache ausgesucht um mit diesen Scripten zu illustrieren, welche erstaunlichen Ergebnisse man durch die Kombination mit der DRACOON API erzielen kann.

DIE SCRIPTE DÜRFEN AUSDRÜCKLICH GELADEN, VERWENDET UND EDITIERT WERDEN. DA ES SICH UM REINE HOBBYARBEIT HANDELT, UNTERLIEGEN DIESE SCRIPTE NICHT DEM OFFIZIELLEN DRACOON SUPPORT UND ES BESTEHT KEINE GEWÄHRLEISTUNG.

Laden Sie hier eine PDF Übersicht über alle auf der Seite aufgeführten Scripts.

Die Scripte benutzen eine „Eigene App“, welche man in den Einstellungen im Vorfeld anlegen muss. Außerdem wird ein Benutzer verwendet, der extra für diesen Zweck angelegt wurde, damit im Audit Log nachvollzogen werden kann, was automatisch passiert ist.

Die IDs von benutzten Usern, Gruppen, Räumen und Dokumenten beziehen sich natürlich auf eine Demoumgebung und müssen individuell angepasst werden.

1. Dieses Script erzeugt lediglich einen Access Token (OAuth), mit dem alle weiteren Aktionen durchgeführt werden können.

2. Manchmal kann es nötig sein, einen Access Token gleich am Ende des Scripts wieder ungültig zu machen. Dies geschieht hier. Zum Beweis wird vorher und nachher eine Aktion ausgeführt, welche zunächst funktioniert, aber natürlich fehlschlägt, sobald der Access Token ungültig gemacht wurde.

3. Eine sehr einfache Aktion ist das Abfragen von Systemdaten. In diesem Fall wird die Anzahl der angelegten Benutzer abgefragt und per Sprache ausgegeben.

4. In einer for-Schleife werden mehrere User angelegt und innerhalb der Schleife auch sofort wieder gelöscht.

5. Im Unterschied zum vorherigen Script wird in diesem Fall der Benutzer mit festgelegtem Passwort angelegt, aber nicht per Mail benachrichtigt.

6. Hier wird ein Client systemweit zur Nutzung deaktiviert am Beispiel von DRACOON for Windows

7. Dieser Client erwartet die Eingabe einer URL, welche direkt auf eine Datei zeigt. Die Datei wird auf den lokalen Rechner (Server) heruntergeladen und dann auf DRACOON hochgeladen (Funktion einer Datenschleuse). Eingabefenster- und Ausgabe des Erfolgs wird durch Windows Forms realisiert.

8. Suchen in DRACOON sind einfach zu erledigen. Hier werden Dateien in einem Raum gesucht (zum Beispiel um Massenänderungen darauf vorzunehmen).

9. Webhooks dienen dazu, Aktionen auszulösen, wenn im DRACOON System ein bestimmter Trigger passiert. Im Beispiel wird, ein Webhook gesetzt für den Fall, dass ein Benutzer gelöscht wird.

Webhooks sind ein kompletter Paradigmenwechsel, denn sie sorgen dafür, dass man Informationen nicht ständig „pullen“ muss, sondern ge“push“t wird, wenn etwas im DRACOON System passiert.

10. Ein Raumprotokoll kann genutzt werden, um nachzuvollziehen, was in einem Datenraum stattgefunden hat. In diesem Script wird ein Protokoll für einen bestimmten Raum über einen bestimmten zurückliegenden Zeitraum erzeugt (anhand von Benutzereingaben). Das Ergebnis wird als CSV gespeichert und mit Excel geöffnet.

Dieses Dokument habe ich für einen Bekannten gemacht um ihm zu zeigen, welche Schritte nötig sind, damit so ein Script mit einer DRACOON Umgebung arbeiten kann.

11. In manchen Fällen muss sichergestellt werden, dass Dateien nach einer bestimmten Anzahl Tage X endgültig vom System gelöscht werden. Dies wird in diesem Script für einen bestimmten Raum realisiert.

12. Eines der wichtigsten Konstrukte in DRACOON ist die Freigabe, also ein Link, mit dem ein Externer etwas herunterladen kann. Hier wird solch ein Link, geschützt durch ein SMS Passwort erzeugt. Außerdem wird ein QR Code erstellt der auf die Downloadseite zeigt sowie eine direkte DownloadURL.

13. Auch eine Dateianfrage auf eine bestehende Datei soll hier gezeigt werden. HINWEIS: In 13. und 12. werden die QR Codes lokal in Powershell erzeugt. Alternativ können die QR Codes auch von DRACOON erzeugt und geliefert werden.

14. Dieses Script führt folgende Aufgaben durch:

  • Datenraum mit Unterdatenräumen und Ordnern für die Zusammenarbeit mit Externen anlegen
  • Gruppe für die Externen Benutzer anlegen und auf die Unterdatenräume berechtigen
  • Inhalte aus einem bestehenden „Template Raum“ in die neu angelegten Datenräume übertragen

Dieses Script ist die Blaupause zum anlegen immer gleicher Projekträume etc. mit zum Teil schon vorgefertigtem Inhalt und einer Gruppe mit externen Benutzern.

15. Wenn DRACOON als reines Transfermedium genutzt wird, kann es Sinn machen, die Benutzer, welche schon seit X Tage oder noch gar nicht mit DRACOON aktiv waren, zu löschen. Dieses Script kümmert sich darum. HINWEIS: Die beiden Zeilen, die tatsächlich die Löschung durchführen sind zur Sicherheit auskommentiert.

16. Das Thema Faxgeräte beschäftigt aktuell viele unserer Kunden. Das Script zeigt, exemplarisch, wie man Dokumente sicher ins Unternehmen holt und dann weiterverarbeiten kann. Es simuliert nur die Ausgabe auf einem Drucker und gibt stattdessen eine kleine Meldung aus, was mit den Dokumenten passiert ist. Dateien, die keine pdf sind, werden im Beispiel in einen Quarantäneraum verschoben.

17. Möchte man mit einem bestimmten Raum etwas machen, muss man unter umständen diesen erst ausfindig machen. Hier wird die id eines Raumes gesucht anhand einer abgefragten Zeichenfolge.

18. Ein ganz einfaches Script, welches die ID einer bestimmten Gruppe anhand ihres Namens sucht und ausgibt.

19. Sollen sehr viele Nodes durchsucht werden, hat man die Restriktion, dass pro Abfrage immer nur 500 Nodes abgefragt werden. Hier muss man also die Nodes in mehreren Blöcken abgefragt werden und lokal wieder zu einer Liste zusammengefügt werden.

20. Dieses Script berechtigt eine Gruppe (im gleichen Request könnten auch mehrere Gruppen angegeben werden) mit bestimmten Rechten auf einen Raum.

21. Dieser Ordner enthält Dateien, die aus einem Projekt mit Schulen entstanden sind. Es geht darum, aus einer CSV automatisch die enthaltenen Schüler als User in DRACOON anzulegen und auch Gruppen (Klassen), in welche die Schüler hineingegeben werden. Es liegt auch eine kleine Anleitung und eine exemplarische CSV Datei bei.

22. Möchten Sie automatisch Elemente im Branding austauschen? Dieses Skript lädt das Branding und tauscht dann das Hintergrundbild des Anmeldebildschirm aus. Das neue Hintergrundbild ist in dem Paket enthalten. Wie wärs mit einem Adventskalender auf der Anmeldeseite (jeden Tag ein neues Anmeldebild z.B. mit einem motivierenden Spruch?)

23. DRACOON eignet sich hervorragend um lokal entstehende Daten wegzusichern, oder umgekehrt, um Dateien, die in DRACOON eingehen, automatisch in einem bestimmten Turnus auf einen lokalen Server zu laden.

Diese Paket enthält sowohl eine einfache Download- als auch eine Uploadschnittstelle. Nach dem erfolgreichen Transfer, werden die originale jeweils gelöscht. Hier kann natürlich auch eine beliebige andere Aktion eingebaut werden (z.B. das verschieben in einen Archivraum).

24. Ein Traum in der Prozessoptimierung. Einen händischen und papiergetriebenen Prozess mit einem Schlag komplett automatisieren. Hier ein Script zur Digitalen Gehaltsabrechnung. Es checkt, ob lokal neue Dokumente entstanden sind (pdf mit Personalnummer im Namen) und legt diese automatisch in DRACOON in dem jeweiligen Mitarbeiterraum ab. Außerdem wird ein lokales Log geschrieben und die ausgelieferten pdf werden in einem lokalen Archivordner gesichert.

Die Arbeitsweise des Scripts wird in diesem Video kurz aufgezeigt:

25. In 2020 war der automatisierte Versand von Corona Testergebnissen ein grosses Thema. Dieses Paket enthält ein Script sowie die passende lokale Dateistruktur um exemplarisch zu sehen, wie ein solcher Prozess gestaltet werden kann. Das Script sieht nach, ob es neue pdf (Ergebnisse mit Referenznummer im Dateinamen) gibt, vergleicht mit einer Metadatendatei (csv, welche auch die Referenznummer in einer Spalte enthält) und versendet dann die Ergebnisse an den Empfänger per mit SMS Passwort geschütztem Downloadlink.

26. Hier erhalten Sie ein Paket mit einem einfachen Windows Client, welcher es ermöglicht mit sehr wenigen Klicks Downloadlinks mit Kennwort auf lokale Dateien zu erzeugen. Dazu muss einfach eine Schaltfläche geklickt und eine Datei ausgewählt werden. Danach erhält man direkt den erzeugten Downloadlink für die hochgeladene Datei in die Zwischenablage kopiert.

Enthalten ist auch ein Bild für die Schaltfläche sowie ein Icon für das Windowsfenster.

27. Model für ein Bewerberportal. So ähnlich könnte auch eine Webseite aufgesetzt werden, um sichere Kommunikation mit Bewerbern in beide Richtungen zu ermöglichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.