i-doit console utility#
Dieses Dokument beschreibt die Verwendung der i-doit console utility. Die i-doit console utility ermöglicht die Automatisierung von administrativen Aufgaben, den Import von Daten und die Integration von i-doit in bestehende Systemlandschaften.
Grundlagen der i-doit console utility#
Die Befehle der i-doit console utility werden über die Datei console.php
ausgeführt, die sich im Hauptverzeichnis Ihrer i-doit-Installation befindet.
Aufruf der Konsole#
Um einen Befehl auszuführen, müssen Sie in das i-doit-Installationsverzeichnis wechseln und die Datei mit PHP ausführen. Es ist auch möglich, den vollständigen Pfad zur Datei zu verwenden, um sie von einem beliebigen Ort aus auszuführen. Wichtig ist, dass der Befehl mit den Rechten des Webserver-Benutzers (z. B. www-data
, wwwrun
oder apache
) ausgeführt wird, um Berechtigungsprobleme zu vermeiden.
1 2 3 4 5 |
|
Authentifizierung#
Fast jeder Befehl erfordert eine Authentifizierung gegenüber i-doit. Die folgenden Parameter sind dafür essenziell:
--user <BENUTZERNAME>
: Der Benutzername eines i-doit-Benutzers mit den notwendigen Berechtigungen.--password <PASSWORT>
: Das Passwort des Benutzers.--tenantId <MANDANTEN-ID>
: Die ID des Mandanten, in dem der Befehl ausgeführt werden soll. Die Standard-ID ist1
.
Sicherheitshinweis: Die direkte Angabe des Passworts als Parameter kann ein Sicherheitsrisiko darstellen, da es in der Prozessliste und im Shell-Verlauf sichtbar ist.
Allgemeine (globale) Optionen#
Diese Optionen können mit den meisten Befehlen kombiniert werden:
Option | Alias | Beschreibung |
---|---|---|
--help | -h | Zeigt die Hilfe für einen spezifischen Befehl an. |
--quiet | -q | Unterdrückt alle Ausgaben außer Fehlermeldungen. |
--verbose | -v, -vv, -vvv | Erhöht die Ausführlichkeit der Ausgabe (nützlich für Debugging). |
--version | -V | Zeigt die Version der i-doit console an. |
--no-interaction | -n | Deaktiviert interaktive Nachfragen (z.B. "Sind Sie sicher?"). |
Wichtige Befehlskategorien und Beispiele#
Die Befehle der i-doit console utility lassen sich in logische Gruppen unterteilen.
Import und Synchronisation#
Dies sind die am häufigsten genutzten Befehle zur Automatisierung der Datenpflege.
import-csv#
Importiert Objekte und deren Attribute aus einer CSV-Datei. Benötigt ein in der i-doit-Weboberfläche vorkonfiguriertes Importprofil.
- Syntax:
1
php console.php import-csv [AUTHENTIFIZIERUNG] --importFile <PFAD_ZUR_CSV> --importProfileId <PROFIL_ID>
- Beispiel:
1
sudo -u www-data php console.php import-csv --user=admin --password='geheim' --tenantId=1 --importFile=/var/www/imports/idoit-Demo-CSV-Import.csv --importProfileId=1 --csvSeparator=";" --multiValueMode=column
ldap-sync#
Synchronisiert Benutzer und Gruppen aus einem LDAP-Verzeichnis (z. B. Microsoft Active Directory). Das Attribut-Mapping wird über eine INI-Datei konfiguriert.
- Syntax:
1
php console.php ldap-sync [AUTHENTIFIZIERUNG] --config <PFAD_ZUR_INI>
- Beispiel: Tipp: Eine Beispiel-Konfigurationsdatei finden Sie hier: Konfigurationsdatei
1
sudo -u www-data php console.php ldap-sync --user=admin --password='geheim' --tenantId=1 --verbose
import-jdisc#
Importiert Daten aus der Netzwerk-Discovery-Lösung JDisc.
- Syntax:
1
php console.php import-jdisc [AUTHENTIFIZIERUNG] --server <JDISC_SERVER_ID>
- Beispiel:
1
sudo -u www-data php console.php import-jdisc --user=admin --password='geheim' --server=1 --tenantId=1
Systemadministration und Wartung#
Diese Befehle unterstützen bei der Wartung und Pflege der i-doit-Instanz.
search-index#
Erstellt den Suchindex neu. Notwendig, wenn die Suche in der Weboberfläche keine oder veraltete Ergebnisse liefert.
- Syntax:
1
php console.php search-index [AUTHENTIFIZIERUNG]
- Beispiel:
1
sudo -u www-data php console.php search-index --user=admin --password='geheim' --tenantId=1
system-categorycleanup#
Bereinigt Kategorie-Daten von Objekten, die archiviert oder gelöscht wurden.
- Syntax:
1
php console.php system-categorycleanup [AUTHENTIFIZIERUNG] --categoryStatus <STATUSID>
- Beispiel (bereinigt archivierte Objekte):
1
sudo -u www-data php console.php system-categorycleanup --user=admin --password='geheim' --categoryStatus=1 --tenantId=1 --no-interaction
Add-on- und Lizenzverwaltung#
Verwaltet installierte Add-ons und Lizenzen über die Kommandozeile.
addon-list#
Listet alle verfügbaren Add-ons und deren Status (aktiviert/deaktiviert) auf.
- Beispiel:
1
sudo -u www-data php console.php addon-list --user=admin --password='geheim'
addon-activate / addon-deactivate#
Aktiviert oder deaktiviert ein spezifisches Add-on. Der Identifier wird durch den Befehl addon-list angezeigt.
- Syntax:
1 2
php console.php addon-activate [AUTHENTIFIZIERUNG] --addon <ADDON_NAME> php console.php addon-deactivate [AUTHENTIFIZIERUNG] --addon <ADDON_NAME>
- Beispiel:
1
sudo -u www-data php console.php addon-activate --user admin --password 'geheim' --addon=document
license-key#
Fügt einen neuen Lizenz-Token zur i-doit-Installation hinzu.
- Syntax:
1
php console.php license-key [AUTHENTIFIZIERUNG] --key <LIZENZTOKEN> --no-interaction
- Beispiel:
1
sudo -u www-data php console.php license-key --user=admin --password='geheim' --key=8z9hr12798g1ftg2p0o13ft3 --no-interaction
Automatisierung#
Dedizierter Benutzer für die i-doit console utility#
Richten Sie in der i-doit-Weboberfläche einen dedizierten Benutzer für Automatisierungsaufgaben ein. Vergeben Sie nur die unbedingt notwendigen Berechtigungen (z. B. Import-Rechte) an diesen Benutzer, anstatt den globalen admin
-Account zu verwenden.
Verwendung in Cronjobs#
Die Befehle der i-doit console utility eignen sich hervorragend für die Automatisierung via Cronjobs.
-
Beispiel: Nächtlicher CSV-Import und Neuaufbau des Suchindex
Öffnen Sie die Crontab des Webserver-Benutzers mit
sudo -u www-data crontab -e
und fügen Sie folgende Zeilen hinzu:1 2 3 4 5
# Führe den CSV-Import jeden Tag um 02:00 Uhr aus 0 2 * * * /usr/bin/php /var/www/html/console.php console.php import-csv --user=cli-user --password='geheim' --tenantId=1 --importFile=/var/www/imports/idoit-Demo-CSV-Import.csv --importProfileId=1 --csvSeparator=";" --multiValueMode=column --quiet # Baue den Suchindex jeden Tag um 02:30 Uhr neu auf 30 2 * * * /usr/bin/php /var/www/html/console.php search-index --user=cli-user --password='geheim' --tenantId=1 --quiet
Einen Befehl und seine Optionen finden#
Um alle verfügbaren Befehle aufzulisten, führen Sie console.php
ohne Argumente aus:
1 |
|
Um die spezifischen Optionen und Parameter für einen einzelnen Befehl zu sehen, verwenden Sie die Option --help
oder -h
:
1 |
|
Verfügbare Befehle der i-doit console utility (ohne Add-ons)#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
|