Zum Inhalt springen

Automatische Datenablage via Powershell


Empfohlene Beiträge

Hallo,

für alle, die regelmäßig ihre Datensätze oder Berichte in ein lokales Verzeichnis oder ein Netzlaufwerk laden möchten, habe ich gestern ein PowerShell-Script hochgeladen. Das Script findet ihr hier.

Einrichtung

Am Beginn des Scripts (Ab Zeile 45) gibt es ein Array, in dem man Konfigurationen für einzelne smaps hinterlegen kann. Zu jeder smap kann konfiguriert werden, in welcher Form die Daten abgelegt werden sollen. Möglich sind aktuell JSON (Die Text-Inhalte des Datensatzes), Assets (u.A. die Bilder) und PDF für die Berichte.
Zu jeder der Varianten kann man noch den Ablagepfad und ggf. weitere Optionen konfigurieren. Dabei kann auch auf Eigenschaften das Datensatzes zugegriffen werden. Der jeweils exportierte Datensatz ist unter der Variablen $R verfügbar. Für die Id des Datensatzes kann man daher $R.id verwenden und für den Inhalt vom Baustein "Text" wär es $R.data.text. Der Pfad kann auch ein UNC-Pfad sein.

[pscustomobject]@{
        smapId = "00000000-dead-beef-0000-000000000123";

        exportJSON = $true;
        exportJSONPath = "$PSScriptRoot\export";
        exportJSONName = 'JSON_$($R.id).json'
        
        exportPDF = $true;
        exportPDFPath = '$PSScriptRoot\export\';
        exportPDFNameUsePlattform = $true;
        exportPDFName = '';
        
        exportAssets = $true;
        exportAssetsPath = '$PSScriptRoot\$($R.id)';

        deleteAfterExport = $false;
        
        token = "BeispielToken";
        debug = $false;
    }

Pro Block gibt es dann noch die Parameter "token" und "debug". Token ist dabei das API-Token aus dem Creatorenaccount in dem die smap liegt und mit debug kann gesteuert werden, ob zu Testzwecken alle Datensätze exportiert werden sollen oder die Datensätze beim Abrufen als exportiert markiert werden, um bei jedem Abruf immer nur die neue Datensätze abzurufen. Wenn das Script mit "debug = $false;" einen Fehler wirft, ist bei euch wahrscheinlich das dazu notwendige Feature nicht freigeschalten. Geht dann dazu bitte auf euren persönlichen Ansprechpartner zu und lasst das Feature aktivieren.

Nutzung

Das fertig eingerichtete Script kann man dann entweder bei Bedarf manuell starten oder regelmäßig ausführen lassen. Letzteres geht z.B. mit der Windows Aufgabenplanung. Dort einfach einen neuen Task anlegen, der z.B. zweimal am Tag das Script via Powershell startet und so die Daten exportiert.

  • Like 2
  • Danke 7
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen, 

das ist genau das was ich benötige 🙂 Zunächst vielen Dank für dieses geniale Script und den Hinweis das dieses existiert. 😄

Ich habe das Script angepasst und es funktioniert soweit, allerdings nur, wenn ich die "debug" aktiviere.

Dadurch werden aber alle PDFs kopiert, obwohl diese bereits kopiert wurden.

Ich habe mir das Script genauer angeschaut und festgestellt, dass hierfür die Funktion "MarkAsExported" verantwortlich ist.

Da ich den Fehler in der Powershell nicht nachvollziehen konnte, habe ich den String aus Zeile 257 des Scripts im Browser geöffnet (hier habe ich ElementConfig.smapID und ElementConfig.token manuell angepasst), um zu schauen was dort passiert. 

Daraufhin erscheint folgende Fehlermeldung: "Es wurde die Funktion MarkAsExported verwendet, die mit dem Vertragstyp nicht gestattet ist"

(Details siehe Foto im Anhang)

 

@Sebastian Woran könnte dies liegen? 

 

Vielen Dank und liebe Grüße

Stefan Lewandowski

2023_11_10_13_11_00_platform.smapone.com_backend_intern_Smaps_3407f1ed_32d9_4ccf_a891_fee0b90045b2_D.png

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 3.11.2023 um 11:43 schrieb Sebastian:

Wenn das Script mit "debug = $false;" einen Fehler wirft, ist bei euch wahrscheinlich das dazu notwendige Feature nicht freigeschalten. Geht dann dazu bitte auf euren persönlichen Ansprechpartner zu und lasst das Feature aktivieren.

😉 Geh bitte auf @Britta Köhler zu und lass dir das Feature freischalten.

  • Like 1
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde Dich an, um einen Kommentar zu hinterlassen

Du kannst nach der Anmeldung einen Kommentar hinterlassen



Jetzt anmelden
×
×
  • Neu erstellen...