Inhaltsverzeichnis

i-doit verfügt über ein Commandline Interface (CLI), über das sich verschiedene Aufgaben durchführen lassen. Das CLI wird beispielsweise für Cronjobs benötigt und kann zum Automatisieren von Arbeitsschritten eingesetzt werden.

Erste Schritte

Das CLI befindet sich im Installationsverzeichnis von i-doit, beispielsweise unter /var/www/html/. Es muss innerhalb dieses Verzeichnises mit denselben Rechten des Apache Webservers aufgerufen werden. Unter Debian GNU/Linux ist dies der User www-data. Mittels sudo werden diese Rechte erlangt:

cd /var/www/html/
sudo -u www-data php console.php

Unter Windows wechselt man ebenso in das Installationsverzeichnis. Da die Rechte des Webservers keine Rolle spielen, genügt der Aufruf von php.exe, welches im Pfad des Benutzers stehen muss.

cd C:\xampp\htdocs
php.exe console.php

Führt man die CLI ohne weitere Argument aus, wird die allgemeine Hilfe präsentiert:

i-doit console utility 1.14

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  addon-activate                      Activate add-on
  addon-deactivate                    Deactivate add-on
  addon-install                       Install add-on
  addon-list                          Shows list of installed addons
  admin-center-cryptohash-reset       With this command you can update the Crypto-hash and update encrypted passwords
  admin-center-password-reset         With this command you can reset the Admin-Center password
  auth-cleanup                        Cleanup all auth paths
  check_mk-export                     Exports i-doit objects and Host Tags to Check_MK WATO configuration files
  check_mk-livestatus                 Imports monitoring status changes from Livestatus to the i-doit Logbook
  clear-credentials                   It removes both attributes `username` and `password` from the users "login" category
  documents
  help                                Displays help for a command
  import-csv                          Imports CSV formatted files (Using a predefined CSV Import filter, defined in the GUI)
  import-csvprofiles                  List all available csv profiles
  import-hinventory                   Imports files formatted in the hInventory XML syntax
  import-jdisc                        Imports data from a JDisc server (SQL server access is defined in the GUI)
  import-jdiscdiscovery               Triggers a JDisc discovery (API Access to the JDisc server is defined in the GUI)
  import-ocs                          Imports data from an OCS inventory NG server (SQL server access is defined in the GUI)
  import-syslog                       Imports data from a Syslog server textfile to the i-doit Logbook
  import-xml                          Imports files formatted in the i-doit XML syntax
  install                             Install the i-doit application
  ldap-sync                           Synchronizes LDAP user accounts with i-doit user objects
  ldap-syncdn                         Synchronizes LDAP user DN attributes with i-doit user objects (Only needs to be run when migrating between different LDAP sources)
  license-add                         Add license into i-doit
  license-assign                      Assign hosting license to i-doit tenant
  license-import                      Import licenses from the i-doit server
  license-key                         Set license key for i-doit
  license-list                        List of the licenses:  id, type of license, assigned tenant, organisation, valid from, expire date, amount of licensed objects, amount of used objects, licensed add-ons
  license-remove                      Remove license from i-doit
  list                                Lists commands
  logbook-archive                     Archives Logbook entries (Settings are defined in the GUI)
  maintenance                         Sends out e-mails for objects with a planned maintenance. As defined in the maintenance add-on
  nagios-export                       Exports i-doit objects and monitoring settings to Nagios configuration files
  nagios-ndoutils                     Imports monitoring status changes from NDOUtils into the i-doit logbook
  notifications-send                  Sends out e-mails for notifications defined in the notification add-on
  report-export                       Executes an i-doit report and saves it to a file as CSV, TXT, PDF or XML
  search                              Triggers a search and gives the results as formatted text table
  search-index                        Deletes current search index and create it
  sync-dynamic-groups                 Syncronize dynamic group members
  system-autoincrement                Changes the initial autoincrement value for all i-doit database tables (Affects everything, Object-IDs, category entries, etc. Use with caution!)
  system-checkforupdates              Checks for i-doit core updates
  system-convert-non-innodb-tables    Converts all tables which are not in INNODB to INNODB (Affects database encoding. Use with caution!)
  system-convert-non-utf8-tables      Changes all non-UTF8-tables to UTF8 (Affects database encoding. Use with caution!)
  system-location-fix                 Performs the location fix from the systemtools GUI
  system-maintenancecontract          Sends e-mail notifications for maintenance contracts (Function is deprecated, please use the notification add-on)
  system-objectcleanup                Purges optionally objects that are in the state unfinished, archived or deleted
  system-objectrelations              Regenerates all object relation names
  system-refresh-table-configuration  Refreshes all available list configurations (object types and categories)
  tenant-create                       Create tenant in i-doit
  tenant-disable                      Disables the tenant with specific id
  tenant-enable                       Enables the tenant with specific id
  tenant-list                         Shows list of available tenants
  tenant-remove                       Remove the i-doit Tenant
  uninstall                           Uninstall the i-doit application
  update                              Update the i-doit application
  workflows-process                   Process all workflows, send e-mails and create new tasks from checklists

Authentifizierung

Um über das CLI auf i-doit zugreifen zu können, ist für die meisten Commands eine Authentifizierung nötig. Dazu übergibt man einen Benutzernamen, das passende Passwort und die gewünschte Tenant ID. Letztere ist bei einer Standardinstallation meistens die 1.

cd /var/www/html/
sudo -u www-data php console.php [COMMAND] --user admin --password admin --tenantId 1 [WEITERE OPTIONEN]

Der Benutzer "controller"

Es wird empfohlen, einen dedizierten Benutzer in i-doit für die Nutzung der CLI anzulegen. Soll dieser als lokaler Benutzer konfiguriert werden, erstellt man ihn als Objekt vom Typ Personen mit den gewünschten Credentials in der Kategorie Personen → Login. Dieser Benutzer sollte Admin-Rechte erhalten. Dies kann durch die Zuordnung zur vordefinierten Personengruppe Admin geschehen.

Hilfe

Commands werden oftmals von weiteren Argumenten begleitet. Daher liefert jedes Command eine Hilfe via --help:

cd /var/www/html/
sudo -u www-data php console.php search --help

Darüber hinaus bieten einige Commands Beispielaufrufe via --usage.

Commands

Commandpro-Varianteopen-VarianteAdd-onBeschreibung
addon-activatejaja-Aktivieren von Add-ons
addon-deactivatejaja-Deaktivieren von Add-ons
addon-installjaja-

Installieren von Add-ons

addon-listjaja-Zeigt eine Liste mit allen installierten Add-ons an
admin-center-cryptohash-resetjaja-Der Crypto-hash von i-doit wird geändert, wodurch die gesamte Verschlüsselung erneuert wird (ACHTUNG! Vor der Durchführung sollte ein Backup erstellt werden)
admin-center-password-reset

-Passwort für das Admin-Center zurücksetzen
auth-cleanupjajaRechtesystem bereinigen
check_mk-exportjajaCheck_MK 1 / 2Konfigurationsdaten für Check_MK exportieren
check_mk-livestatusjajaCheck_MK 1 / 2Ist-Zustand aus Check_MK ins Logbuch schreiben
clear-credentialsjaja-Entfernt die Anmeldeinformationen von Benutzern
helpjaja-Zeigt die Hilfe zu einem Befehl an
import-csvjaneinDaten aus einer CSV-Datei importieren
import-csvprofilesjaneinAuflisten aller CSV-Importprofile
import-hinventoryjajaDaten aus h-inventory importieren
import-jdiscjajaDaten aus JDisc Discovery importieren
import-jdiscdiscoveryjajaEinen Scan in JDisc Discovery starten
import-ocsjajaDaten aus OCS Inventory NG importieren
import-syslogjajaDaten aus einem Syslog in das Logbuch von i-doit importieren
import-xmljajaDaten aus XML importieren
ldap-syncjajaPersonen und Personengruppen aus einem LDAP-Verzeichnis oder Active Directory (AD) importieren
ldap-syncdnjajaSynchronisiere aus einem LDAP/AD den Distinguished Name (DN) der Benutzer (siehe Kategorie LDAP)
license-addjanein-Fügt eine Lizenz für i-doit hinzu (in Bearbeitung)
license-assignjanein-Ordnet eine Hosting Lizenz einem Mandaten zu (in Bearbeitung)
license-importjanein-Importiert Lizenzen vom i-doit Server (in Bearbeitung)
license-keyjanein-Setzt einen Lizenzschlüssel für i-doit (in Bearbeitung)
license-listjanein-Listet alle Lizenzen mit allen Informationen auf (ID; Produkt; Typ; Startdatum; Enddatum; lizensierte Objekte; lizenzierte Mandanten; Umgebung)
license-removejanein-Entfernt Lizenzen von i-doit
logbook-archivejajaLogbuch-Einträge archivieren
maintenancejajaWartungSendet Benachrichtigungen zu geplanten Wartungen aus dem Wartungs Add-on
nagios-exportjajaNagiosNagios-Konfiguration exportieren
nagios-ndoutilsjajaNagiosIst-Zustand aus Nagios ins Logbuch schreiben
notifications-sendjajaBenachrichtigungen per E-Mail versenden
report-exportjaneinEinen Report als Datei exportieren
searchjajaIn i-doit suchen
search-indexjajaSuchindex erstellen/erneuern
system-autoincrementjajaauto_increment von MariaDB-/MySQL-Tabellen auf einen positiven Integer-Wert setzen
system-checkforupdatesjajaNach Aktualisierungen für i-doit suchen
system-convert-non-innodb-tablesjaja-Konvertiert alle Tabellen, welche nicht in INNODB sind zu INNODB (Betrifft die Datenbankkodierung. Mit Vorsicht zu nutzen!)
system-convert-non-utf8-tablesjaja-Konvertiert alle non-UTF8-Tabellen in UTF8-Tabellen (Betrifft die Datenbankkodierung. Mit Vorsicht zu nutzen!)
system-location-fixjaja-Führt die Standortkorrektur aus der GUI auf der Konsole aus
system-maintenancecontractjajaE-Mail für Wartungsverträge senden
system-objectcleanupjajaObjekte bereinigen
system-objectrelationsjajaObjekt-Beziehungen neu aufbauen
system-refresh-table-configurationjaja-Erneuert alle verfügbaren Listenkonfigurationen (Objekttypen und Kategorien)
tenant-createjaneinEinen neuen Mandanten hinzufügen
tenant-disablejaneinEinen bestehenden Mandanten deaktivieren
tenant-enablejaneinEinen bestehenden Mandanten aktivieren
tenant-listjaneinAlle verfügbaren Mandanten auflisten
tenant-removejanein-Einen bestehenden Mandanten entfernen
uninstalljaja-Deinstalliert i-doit
updatejaja-Update von i-doit installieren
workflows-processjaja

Workflow-Benachrichtigungen per E-Mail versenden