Remote Client Administration: Eine Einführung zu Client Aktionen mit opsi-cli

Remote Client Administration: Eine Einführung zu Client Aktionen mit _opsi-cli_

Installationen anfordern mit opsi-cli

Das Kommandozeilenwerkzeug opsi-cli ist für Linux, Windows und macOS verfügbar. Es funktioniert als Client-Komponente innerhalb wie außerhalb des opsi-Servers und kommuniziert über den opsi-webservice und opsi-messagebus. opsi-cli ist wirklich nützlich in Situationen, in denen Sie keine grafische Benutzeroberfläche verwenden möchten, wie den opsi-configed oder die Web-GUI. Der opsi-cli Befehl client-action bietet eine bequeme Möglichkeit, Installationen für Clients anzufordern über den Befehl set-action-request.

Schauen wir uns ein erstes Beispiel an. Der folgende Befehl setzt die Aktionsanfrage setup (Standardwert) für die Pakete hwaudit und swaudit auf allen Clients:

opsi-cli client-action --clients=all set-action-request --products=hwaudit,swaudit

Es ist einfach, den Pool der betroffenen Clients zu begrenzen. Verwenden Sie entweder --clients oder --client-groups und geben Sie eine Liste von durch Kommas getrennten Einträgen an. Das nächste Beispiel setzt die Aktionsanfrage nur für opsi-Clients, die zur Gruppe testgroup gehören:

doerrer@me:~$ opsi-cli -l 5 client-action --client-groups=testgroup set-action-request --products=hwaudit
[5] [2023-03-01 12:16:23.922] [               ] Selected clients: ['client-linux.domain.local', 'client-win10.domain.local']   (client_action_worker.py:56)
[5] [2023-03-01 12:16:23.972] [               ] Handling products ['hwaudit']   (set_action_request_worker.py:120)
[5] [2023-03-01 12:16:23.982] [               ] Setting 'setup' ProductActionRequest: hwaudit -> client-linux.domain.local   (set_action_request_worker.py:158)
[5] [2023-03-01 12:16:23.982] [               ] Setting 'setup' ProductActionRequest: hwaudit -> client-win10.domain.local   (set_action_request_worker.py:158)

Tip

Um diese Nachrichten in der Konsole zu sehen, benötigen wir loglevel 5 (oder höher) welches über den Schalter -l gesetzt wird.

Sie können die Art der Aktionsanfrage mit dem Parameter --request-type festlegen. Wie bereits erwähnt, ist der Standard setup. Um eine Aktionsanfrage zurückzusetzen, verwenden Sie --request-type=none. Dies ist nützlich, wenn Sie versehentlich gesetzte Aktionsanfragen entfernen möchten. Der Screenshot veranschaulicht dies: Die erste Aktionsanfrage ist setup für das localboot-Produkt opsi-client-agent auf dem opsi-Client client-linux.domain.local, gefolgt von einem Befehl, der dies mit --request-type=none widerruft. Der dritte Befehl setzt die Aktionsanfrage für einen Windows-Client.

opsi-cli ermöglicht es, client-Aktionen anzufordern von Ihrer linux, macos oder windows Maschine

Pakete auf Clients aktuell halten

Sie können set-action-request auch für komplexere Aufgaben verwenden. Der Parameter --where-outdated betrifft alle auf einem Client installierten Produkte, für die auf dem zugehörigen Depot eine neuere Version vorliegt. Auf diese Weise können Sie opsi-cli client-action verwenden, um zu erreichen, dass die Software auf den Clients auf dem neuesten Stand ist. Sie können die folgenden Parameter verwenden, um die Clients auszuwählen:

  • --clients: Komma-getrennte Liste von Clients oder all
  • --client-groups: Komma-getrennte Liste von Client-Gruppen
  • --exclude-clients: Clients, die ausgeschlossen werden sollen
  • --exclude-client-groups: Client-Gruppen, die ausgeschlossen werden sollen

Das folgende Beispiel demonstriert, wie man alle veralteten Produkte auf setup setzt, für alle Clients mit Ausnahme derer, in der Gruppe testgroup:

opsi-cli -l 5 client-action --clients=all --exclude-client-groups=testgroup set-action-request --where-outdated

Analog können Sie spezifische Produkte oder Produktgruppen mit --products, --product-groups, --exclude-products und --exclude-product-groups ein- bzw. ausschließen.

Tip

Einige Produkte sind automatisch ausgeschlossen von diesen Aufrufen (sämtliche netboot-Produkte, sowie opsi-script, opsi-auto-update, windomain, usw.)

Fehlgeschlagene Installationen wiederholen

Analog können Sie die Installation von Produkten mit dem Parameter --where-failed erneut anfordern. Es setzt eine neue Aktionsanfrage für alle Produkte, die den Status failed haben.

Das folgende Beispiel setzt das Produkt runastest auf setup auf allen Clients, bei denen die vorherige Installation fehlgeschlagen ist:

doerrer@me:~$ opsi-cli -l 5 client-action --clients=all set-action-request --where-failed --products=runastest
[5] [2023-03-01 13:58:52.715] [               ] Selected clients: ['client-linux.domain.local', 'client-macos.domain.local', 'client-win10.domain.local']   (client_action_worker.py:56)
[5] [2023-03-01 13:58:52.777] [               ] Handling products ['runastest']   (set_action_request_worker.py:120)
[5] [2023-03-01 13:58:52.788] [               ] Setting 'setup' ProductActionRequest: runastest -> client-win10.domain.local   (set_action_request_worker.py:158)

Dies ist nützlich in Testumgebungen oder falls Abhängigkeiten fehlten, als das Produkt zum ersten Mal installiert wurde.

Tips & Tricks für client-action

Abschließend haben wir noch einige Tipps und Tricks für Sie gesammelt:

  • Wenn Sie mehr über die verfügbaren Optionen eines Befehls erfahren möchten, rufen Sie ihn mit dem Parameter --help auf.
  • Sie können cron verwenden, um einen Zeitplan für opsi-cli Befehle auf einem Linux-Server einzurichten (siehe Kapitel Planung von Installationen).
  • Wenn Sie eigene Skripte geschrieben haben, um regelmäßig Pakete in Ihrem Depot zu aktualisieren, können Sie einfach opsi-cli client-action set-action-request --where-outdated einfügen, um das Update auf Ihren Clients anzufordern.
  • Für eine vollständige Liste der Befehle, Parameter und Optionen lesen Sie bitte unsere Dokumentation (siehe Kapitel opsi Befehlszeilenwerkzeuge und Prozesse).

Frohes basteln!

Verwandte Beiträge

Die opsiconf 2022 in Mainz: opsiconf ahoi!

Die opsiconf 2022 in Mainz: opsiconf ahoi!

Zwei Jahre Flaute liegen hinter uns, in denen wir soziale Kontakte und Arbeitsbeziehungen auf ein Minimum reduziert haben. Es geht nichts über ein Treffen im echten Leben: Leinen los, Segel gesetzt, und auf zur opsiconf nach Mainz!

Mehr lesen
opsi-cli: Das neue Kommandozeilen-Interface für opsi

opsi-cli: Das neue Kommandozeilen-Interface für opsi

Auf der opsiconf 2022 haben wir ein neues Kommandozeilentool für opsi-Umgebungen vorgestellt: opsi-cli ist als Teil von opsi-utils >= 4.2.0.187 verfügbar. Lesen Sie weiter, um mehr über das neue Werkzeug zu erfahren.

Mehr lesen
opsi 4.3 freigegeben

opsi 4.3 freigegeben

Nach dem Testing-Release am 09.10.2023 geben wir opsi 4.3 heute offiziell als stabile Version frei.

Mehr lesen