Kommandozeilenschnittstelle

Zur Durchführung von administrativen Aufgaben steht neben dem Veyon Configurator auch das Kommandozeilenwerkzeug Veyon CLI zur Verfügung. Das Programm lässt sich über den Befehl veyon-cli in der Kommandozeile aufrufen. Unter Windows gibt es eine zusätzliche Nicht-Konsolen-Version veyon-wcli, mit deren Hilfe Aufgaben automatisiert werden können, ohne dass irritierende Kommandozeilenfenster aufpoppen. Befindet sich das Installationsverzeichnis von Veyon nicht in der Umgebungsvariable $PATH (Linux) bzw. %PATH% (Windows), muss zunächst in das Installationsverzeichnis gewechselt werden oder das Verzeichnis dem Programmname vorangestellt werden.

Wird das Programm mit dem Argument help aufgerufen, wird eine Liste mit allen verfügbaren Modulen angezeigt. Diese kann abhängig von den installierten Veyon-Plugins variieren:

$ veyon-cli help
Available modules:
    authkeys - Commands for managing authentication keys
    config - Commands for managing the configuration of Veyon
    ldap - Commands for configuring and testing LDAP/AD integration
    networkobjects - Commands for managing the builtin network object directory
    power - Commands for controlling power status of computers
    remoteaccess - Remote view or control a computer
    service - Commands for configuring and controlling Veyon Service
    shell - Commands for shell functionalities

Jedes CLI-Modul unterstützt den Befehl help, so dass zu jedem Modul eine Liste mit allen verfügbaren Befehlen angezeigt werden kann. Beispielausgabe für das Modul config:

$ veyon-cli config help
Available commands:
    clear - Clear system-wide Veyon configuration
    export - Export configuration to given file
    get - Read and output configuration value for given key
    import - Import configuration from given file
    list - List all configuration keys and values
    set - Write given value to given configuration key
    unset - Unset (remove) given configuration key
    upgrade - Upgrade and save configuration of program and plugins

Bei einigen Modulen kann dem Befehl help ein Befehlsname als weiteres Argument übergeben werden, um spezifische Hilfe zum jeweiligen Befehl zu erhalten:

$ veyon-cli remoteaccess help control

remoteaccess control <host>

Authentifizierungsschlüsselverwaltung

Das Modul authkeys erlaubt die Verwaltung von Authentifizierungsschlüsseln, so dass gängige Operationen wie der Import eines Authentifizierungsschlüssels oder die Zuweisung einer Benutzergruppe einfach automatisiert werden können.

Bemerkung

Der Parameter <KEY> bezieht sich immer auf einen Schlüsselnamen, der aus einem Namensbezeichner und einem Typ besteht, z.B. teacher/public. Ein Namensbezeichner darf nur aus Buchstaben bestehen. Als Typ muss entweder private oder public angegeben werden.

create <NAME>

Dieser Befehl erzeugt ein neues Authentifizierungsschlüsselpaar mit dem Namen <NAME> und speichert den privaten und öffentlichen Schlüssel im konfigurierten Schlüsselverzeichnis. Als Argument muss ein Name für den Schlüssel angegeben werden, der nur auch Buchstaben bestehen darf.

delete <KEY>

Dieser Befehl löscht den Authentifizierungsschlüssel <SCHLÜSSEL> aus dem konfigurierten Schlüsselverzeichnis. Bitte beachten Sie, dass ein Schlüssel nicht wiederhergestellt werden kann, sobald er gelöscht wurde.

export <KEY> [<FILE>]

Dieser Befehl exportiert den Authentifizierungsschlüssel <SCHLÜSSEL> nach <DATEI>. Wenn <DATEI> nicht angegeben wird, wird der Dateiname aus Name und Typ von <SCHLÜSSEL> abgeleitet.

extract <KEY>

Dieser Befehl extrahiert den öffentlichen Schlüsselteil aus dem privaten Schlüssel <SCHLÜSSEL> und speichert ihn als den zugehörigen öffentlichen Schlüssel. Bei der Einrichtung eines weiteren Mastercomputers genügt somit die Übertragung des privaten Schlüssels. Anschließend kann der öffentliche Schlüssel extrahiert werden.

import <KEY> [<FILE>]

Dieser Befehl importiert den Authentifizierungsschlüssel <SCHLÜSSEL> aus <DATEI>. Wenn <DATEI> nicht angeben wird, wird der Dateiname aus Name und Typ von <SCHLÜSSEL> abgeleitet.

list [details]

Dieser Befehl listet alle verfügbaren Authentifizierungsschlüssel im konfigurierten Schlüsselverzeichnis auf. Wenn die Option details angegeben wird, wird stattdessen eine Tabelle mit Schlüsseldetails ausgegeben. Einige Details können fehlen, wenn auf einen Schlüssel nicht zugegriffen werden kann, z.B. aufgrund fehlender Leserechte.

setaccessgroup <KEY> <ACCESS GROUP>

Dieser Befehl passt die Dateizugriffsberechtigungen auf den Schlüssel <KEY> so an, dass nur die Benutzergruppe <ACCESS GROUP> Lesezugriff darauf hat.

Konfigurationsverwaltung

Mit Hilfe des Moduls config lässt sich die lokale Veyon-Konfiguration verwalten. Dabei können sowohl die komplette Konfiguration als auch einzelne Konfigurationsschlüssel gelesen oder geschrieben werden.

clear

Mit diesem Befehl wird die lokale Konfiguration komplett zurückgesetzt, indem alle Konfigurationsschlüssel gelöscht werden. Dieser Befehl kann genutzt werden, um vor dem Import einer Konfiguration einen definierten Zustand ohne alte Einstellungen herzustellen.

export

Mit diesem Befehl lässt sich die lokale Konfiguration in eine Datei exportieren. Der Name der Zieldatei muss als zusätzlicher Argument angegeben werden:

veyon-cli config export myconfig.json
import

Dieser Befehl importiert eine zuvor exportierte Konfigurationsdatei in die lokale Konfiguration. Der Name der zu importierenden Konfigurationsdatei muss als zusätzliches Argument angegeben werden:

veyon-cli config import myconfig.json
list [defaults | types]

Dieser Befehl zeigt eine Liste aller Konfigurationsschlüssel und der zugehörigen Werte. Auf diese Weise können Sie die Namen der Konfigurationsschlüssel erhalten, um sie über die Befehle get oder set einzeln zu lesen oder zu schreiben. Bei der zusätzlichen Angabe von defaults wird anstelle des aktuell konfigurierten Wertes der Standardwert für jeden Konfigurationsschlüssel ausgegeben. Alternativ können die Datentypen der Konfigurationsschlüssel durch Angabe von types untersucht werden.

get

Mit diesem Befehl kann ein einzelner Konfigurationsschlüssel ausgelesen werden. Der Name des Schlüssels muss als zusätzliches Argument übergeben werden.

veyon-cli config get Network/VeyonServerPort
set

Mit diesem Befehl kann ein einzelner Konfigurationsschlüssel geschrieben werden. Der Name des Schlüssels sowie der gewünschte Wert müssen als zusätzliche Argumente übergeben werden:

veyon-cli config set Network/VeyonServerPort 12345
veyon-cli config set Service/Autostart true
veyon-cli config set UI/Language de_DE
unset

Mit diesem Befehl kann ein einzelner Konfigurationsschlüssel gelöscht werden, d.h. Veyon verwendet dann den internen Vorgabewert. Der Name des Schlüssels muss als zusätzliches Argument übergeben werden:

veyon-cli config unset Directories/Screenshots
upgrade

Mit diesem Befehl kann die Konfiguration von Veyon und allen Plugins aktualisiert und gespeichert werden. Dies kann notwendig sein, wenn sich Einstellungen oder Konfigurationsformate aufgrund von Programm- oder Pluginaktualisierungen geändert haben.

Funktionssteuerung

Das Modul feature stellt Befehle zur Verfügung, um verfügbare Funktionen abzufragen und sie auf entfernten Computern zu steuern.

list

Zeigt eine Liste mit den Namen aller verfügbaren Funktionen an.

show

Zeigt eine Tabelle mit detaillierten Informationen über alle verfügbaren Funktionen an. Diese Informationen umfassen eine Beschreibung, die UID, den Namen des Plugins, das die jeweilige Funktion bereitstellt, sowie einige andere implementierungsbezogene Details.

start <FEATURE> <HOST ADRESS> [<ARGUMENTS>]

Startet die angegebene Funktion auf dem angegebenen Computer, indem eine Verbindung zum entfernt laufenden Veyon Server hergestellt wird. Die Funktion kann mittels Name oder UID angegeben werden. Benutzen Sie den show-Befehl, um alle verfügbaren Funktionen zu sehen. Abhängig von der Funktion müssen zusätzliche Argumente (wie z.B. die anzuzeigende Textnachricht), kodiert als einzelne JSON-String, angegeben werden. Weitere Informationen entnehmen Sie bitte der Entwicklerdokumentation.

stop <FEATURE> <HOST ADRESS>

Stoppt die angegebene Funktion auf dem angegebenen Computer, indem eine Verbindung zum entfernt laufenden Veyon Server hergestellt wird. Die Funktion kann mittels Name oder UID angegeben werden. Verwenden Sie den Befehl show, um alle verfügbaren Funktionen zu sehen.

LDAP

Die Befehle des Moduls ldap sind im Kapitel LDAP/AD-Integration im Abschnitt Kommandozeilenschnittstelle dokumentiert.

Netzwerkobjektverzeichnis

Wie im Abschnitt Standorte & Computer beschrieben, bietet Veyon ein eingebautes Netzwerkobjektverzeichnis, das genutzt werden kann, wenn kein LDAP-Server zur Verfügung steht. Dieses Netzwerkobjektverzeichnisses kann sowohl grafisch im Veyon Configurator als auch auf der Kommandozeile verwaltet werden. Bestimmte Operationen wie der CSV-Import stehen derzeit ausschließlich auf der Kommandozeile zur Verfügung. Für die meisten Befehle steht eine ausführliche Beschreibung mit Beispielen unter der befehlsspezifischen Hilfe zur Verfügung. Folgende Befehle können im Modul networkobjects verwendet werden:

add <TYPE> <NAME> [<HOST ADDRESS> <MAC ADDRESS> <PARENT>]

Dieser Befehl fügt ein Objekt hinzu, wobei <TYPE> location oder computer sein kann. <PARENT> kann als Name oder UUID angegeben werden.

clear

Mit diesem Befehl wird das komplette Netzwerkobjektverzeichnis zurückgesetzt, d.h. alle Standorte und Computer werden gelöscht. Diese Operation ist vor allem vor jedem automatisierten Import sinnvoll.

dump

Mit diesem Befehl wird das komplette Netzwerkobjektverzeichnis als flache Tabelle ausgegeben. Jede Eigenschaft wie Objekt-UID, Typ oder Name wird als separate Spalte ausgegeben.

export <FILE> [location <LOCATION>] [format <FORMAT-STRING-WITH-VARIABLES>]

Mit diesem Befehl kann entweder das komplette Netzwerkobjektverzeichnis oder nur der angegebene Standort in eine Textdatei exportiert werden. Über einen Formatstring und den darin enthaltenen Platzhaltervariablen lässt sich die Formatierung steuern, so dass z.B. eine CSV-Datei erzeugt werden kann. Gültige Variablen sind %type%, %name%, %host%, %mac% und %location%. In der Befehlshilfe sind verschiedene Beispiele gegeben (veyon-cli networkobjects help export).

Bemerkung

Wenn Sie diesen Befehl in Batchdateien oder geplanten Aufgaben unter Windows verwenden, stellen Sie sicher, dass Sie das Prozentzeichen korrekt umschreiben, d.h. %%type%% anstatt %type% verwenden. Andernfalls werden einzelne Teile des Formatstrings als Umgebungsvariablen behandelt und in den meisten Fällen mit leeren Zeichenketten ersetzt. Das führt zu unerwarteten Fehlern beim Lesen der Datei, d.h. Parse-Fehler.

import <FILE> [location <LOCATION>] [format <FORMAT-STRING-WITH-VARIABLES>] [regex <REGULAR-EXPRESSION-WITH-VARIABLES>]

Mit diesem Befehl kann eine Textdatei in das Netzwerkobjektverzeichnis importiert werden. Über einen Formatstring oder einen regulären Ausdruck und den darin enthaltenen Platzhaltervariablen lässt sich die Verarbeitung der Eingabedaten steuern. Auf diese Weise können sowohl CSV-Dateien als auch anderweitig strukturierte Daten eingelesen werden. Gültige Variablen sind %type, %name%, %host%, %mac% und %location%. In der Befehlshilfe sind verschiedene Beispiele gegeben (veyon-cli networkobjects help import).

Bemerkung

Wenn Sie diesen Befehl in Batchdateien oder geplanten Aufgaben unter Windows verwenden, stellen Sie sicher, dass Sie das Prozentzeichen korrekt umschreiben, d.h. %%type%% anstatt %type% verwenden. Andernfalls werden einzelne Teile des Formatstrings als Umgebungsvariablen behandelt und in den meisten Fällen mit leeren Zeichenketten ersetzt. Das führt zu unerwarteten Fehlern beim Lesen der Datei, d.h. Parse-Fehler.

list

Mit diesem Befehl wird das komplette Netzwerkobjektverzeichnis als formatierte Liste ausgegeben. Im Gegensatz zum Befehl dump wird die Hierarchie von Räumen und Computern durch entsprechende Formatierung wiedergegeben.

remove <OBJECT>

Dieser Befehl entfernt das angegebene Objekt aus dem Verzeichnis. OBJECT kann als Name oder UUID angegeben werden. Wenn ein Standort entfernt wird, werden alle zugehörigen Computer ebenfalls entfernt.

Einschaltzustand

Das power-Modul erlaubt es, Einschaltzustand-bezogene Funktionen an der Kommandozeile zu nutzen.

on <MAC ADDRESS>

Dieser Befehl sendet ein Wake-on-LAN (WOL) Paket an das Netzwerk, um den Computer mit der angegebenen MAC-Adresse einzuschalten

Fernzugriff

Das Modul remoteaccess stellt Funktionen zum grafischen Fernzugriff auf Computer zur Verfügung. Es handelt sich hierbei um die gleichen Funktionen, die auch aus dem Veyon Master heraus erreichbar sind. Die über das Kommandozeilenwerkzeug bereitgestellte Funktion kann beispielsweise genutzt werden, um eine Programmverknüpfung für den direkten Zugriff auf einen bestimmten Computer anzulegen.

control

Mit diesem Befehl wird ein Fenster mit der Fernsteuerungsfunktion geöffnet, mit der ein entfernter Computer gesteuert werden kann. Als Argument muss die Computer- oder IP-Adresse des Computers (sowie optional der TCP-Port) übergeben werden:

veyon-cli remoteaccess control 192.168.1.2
view

Mit diesem Befehl wird ein Fenster mit der Fernansichtsfunktion geöffnet, mit der ein entfernter Computer überwacht werden kann. In diesem Modus wird der Bildschirminhalt in Echtzeit angezeigt, aber es ist keine Interaktion mit dem Computer möglich, solange die entsprechende Schaltfläche in der Werkzeugleiste nicht betätigt wird. Als Argument muss die Computer- oder IP-Adresse des Computers (sowie optional der TCP-Port) übergeben werden:

veyon-cli remoteaccess view pc5:5900

Dienststeuerung

Mit Hilfe des Moduls service lässt sich der lokale Veyon-Dienst steuern.

register

Mit diesem Befehl wird der Veyon-Dienst im Betriebssystem als Dienst registriert, so dass er beim Hochfahren des Computers automatisch gestartet wird.

unregister

Mit diesem Befehl wird die Dienstregistrierung im Betriebssystem entfernt, so dass der Veyon-Dienst beim Hochfahren nicht mehr automatisch gestartet wird.

start

Mit diesem Befehl wird der Veyon-Dienst gestartet.

stop

Mit diesem Befehl wird der Veyon-Dienst beendet.

restart

Mit diesem Befehl wird der Veyon-Dienst neugestartet.

status

Mit diesem Befehl wird der Status des Veyon-Dienst abgefragt und angezeigt.

Shell

Einfache Shellfunktionalitäten werden vom Modul shell bereitgestellt. Wird dieses Modul ohne Angabe weiterer Argumente aufgerufen, wird ein interaktiver Modus gestartet. In diesem Modus können alle CLI-Befehle direkt eingegeben werden können, ohne das Programm veyon-cli für jeden Befehl angeben und aufrufen zu müssen. Der Modus kann durch Eingabe des Schlüsselworts exit verlassen werden.

Weiterhin kann das Modul zur automatisierten Abarbeitung von Befehlen in einer Textdatei genutzt werden, um eine einfache Stapelverarbeitung zu realisieren:

run <FILE>

Dieser Befehl führt die in der Textdatei angegebenen Befehle zeilenweise aus. Operationen werden unabhängig vom Ergebnis vorangegangener Operationen ausgeführt, d.h. ein Fehler führt nicht zum Abbruch.