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.
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
zeigt verfügbare Methoden und ihre Parameter an. Im Fall von deprecated methods wird dort eine Alternative vorgeschlagen.