Seite 1 von 1

Alternative für "getClientIds_list" & "getClientsWithActionRequest"

Verfasst: 03 Jun 2025, 10:56
von JMS
Hallo zusammen,

bislang nutzte ich in einem Cron-Job den Aufruf

Code: Alles auswählen

opsi-admin -dS method getClientIds_list null null null null null '["uninstall","setup","update"]'
um zunächst eine Liste aller Clients zu erhalten, die auf eine Verteilung warten, um im zweiten Schritt die betreffenden Kisten per WOL starten zu können.

Diese Funktion ist leider "deprecated"!

Die Alternative via

Code: Alles auswählen

opsi-admin -dS method getClientsWithActionRequest '["uninstall","setup","update"]'
ist ebenfalls "deprecated"!

Hat jemand eine Idee, wie ich diese Abfrage künftig realisieren kann?

Vorab Danke & viele Grüße

Re: Alternative für "getClientIds_list" & "getClientsWithActionRequest"

Verfasst: 03 Jun 2025, 11:01
von JMS
Sorry, Thema steht in falscher Rubrik und gehört in "Freier Support"

Re: Alternative für "getClientIds_list" & "getClientsWithActionRequest"

Verfasst: 03 Jun 2025, 11:39
von busabernhardg
Hallo,

schau die mal opsi-cli an.
Mit
opsi-cli jsonrpc execute productOnClient_getObjects '["clientId","productId"]' '{"actionRequest":"setup"}' | grep -E '(clientId)'
solltest du eine Liste aller Clients bekommen, bei der ein Produkt auf Setup steht.

lg
Bernhard

[GELÖST] Alternative für "getClientIds_list" & "getClientsWithActionRequest"

Verfasst: 03 Jun 2025, 14:12
von JMS
Perfekt, Danke!

Und wenn ich alle Arten von anstehenden Jobs auslesen will:

Code: Alles auswählen

opsi-cli jsonrpc execute productOnClient_getObjects '["clientId","productId"]' '{"actionRequest":["setup","once","uninstall"]}' | grep -E clientId
Und weil die Methode "powerOnHost" ebenfalls "deprecated" ist:

Code: Alles auswählen

for i in $(opsi-cli jsonrpc execute productOnClient_getObjects '["clientId","productId"]' '{"actionRequest":["setup","once","uninstall"]}' | grep -E clientId  | cut -d '"' -f4 | sort -u ); do
        echo "**********************************************************"
        echo "[INFO] PC-System $i hat offene Jobs..."
	opsi-cli jsonrpc execute hostControl_start ${i} >/dev/null
done
Nochmals Danke & viele Grüße

Re: Alternative für "getClientIds_list" & "getClientsWithActionRequest"

Verfasst: 03 Jun 2025, 15:42
von j.schneider
Kleiner Hinweis an dieser Stelle:
Über die Optionen --output-format, --no-header, --attributes kann man die Ausgabe so formatieren, dass man sie in einfachen Skripten besser weiterverarbeiten kann:

Code: Alles auswählen

opsi-cli --output-format csv --no-header --attributes clientId jsonrpc execute productOnClient_getObjects '["clientId","productId"]' '{"actionRequest":["setup","once","uninstall"]}'
Grüße
Jan Schneider

Re: Alternative für "getClientIds_list" & "getClientsWithActionRequest"

Verfasst: 04 Jun 2025, 13:32
von j.schneider
Eine weitere Ergänzung.
Mit opsi-cli 4.3.23.0 ist jetzt auch Folgendes möglich:

Code: Alles auswählen

opsi-cli client-action --clients all --where-action-request setup,once,uninstall wakeup
opsi-cli 4.3.23.0 befindet sich aktuell in unserem experimental-Repo.

Code: Alles auswählen

opsi-cli self upgrade --branch=experimental
Grüße
Jan Schneider

Re: Alternative für "getClientIds_list" & "getClientsWithActionRequest"

Verfasst: 04 Jun 2025, 16:09
von n.doerrer
Und noch eine Ergänzung

Code: Alles auswählen

opsi-cli jsonrpc methods
zeigt verfügbare Methoden und ihre Parameter an. Im Fall von deprecated methods wird dort eine Alternative vorgeschlagen.