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
oderset
einzeln zu lesen oder zu schreiben. Bei der zusätzlichen Angabe vondefaults
wird anstelle des aktuell konfigurierten Wertes der Standardwert für jeden Konfigurationsschlüssel ausgegeben. Alternativ können die Datentypen der Konfigurationsschlüssel durch Angabe vontypes
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
odercomputer
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.