Setzen von Produkteigenschaften über die Kommandozeile

Antworten
Martin_IMWS
Beiträge: 59
Registriert: 14 Nov 2022, 15:15

Setzen von Produkteigenschaften über die Kommandozeile

Beitrag von Martin_IMWS »

Hallo zusammen,

ist es möglich, und wenn ja, wie, eine Produkt-Property über die Kommandozeile zu setzen?

Konkret möchte ich auf einer Gruppe von Rechnern die Produkteigenschaft "allow_reboot" des Produkts "ops-client-agent" auf "false" setzen.

Ich würde in etwa folgende Syntax auf der Kommandozeile des opsi-servers erwarten:

opsi-cli -l5 client-action --clients X,X,X --product opsi-client-agent --set-property "allow_reboot"="false"

Freue mich auf eure Rückmeldungen

Martin
Benutzeravatar
ThomasT
uib-Team
Beiträge: 545
Registriert: 26 Jun 2013, 12:26

Re: Setzen von Produkteigenschaften über die Kommandozeile

Beitrag von ThomasT »

Hallo Martin,

leider habe ich hier keine wirklich schöne Lösung, aber vielleicht hat jemand noch ne Idee.

Wie immer bei automatischer Verarbeitung gilt, vorher Backup machen und Testen :D
Ich habe hier mit jq das KV Paar welches ich brauchte rausgefischt, geht auch anders.
1. Clientliste erstellen:

Code: Alles auswählen

opsi-cli jsonrpc execute objectToGroup_getObjects '' '{"groupId":"GRUPPENNAME"}' | jq '.[].objectId' | sed 's/"//g' > clientliste.txt
2. Template Object ablegen:

Code: Alles auswählen

cat template.json
[
  {
    "values": [
      false
    ],
    "productId": "opsi-client-agent",
    "propertyId": "allow_reboot",
    "objectId": "<CLIENTID>",
    "type": "ProductPropertyState",
    "ident": "opsi-client-agent;allow_reboot;<CLIENTID>"
  }
]
3. Über Clients iterieren und Property setzen:

Code: Alles auswählen

 for CLIENTID in $(cat clientliste.txt); do cp template.json tmp.json ;sed -i "s/<CLIENTID>/$CLIENTID/g" tmp.json; echo "Changing $CLIENTID"; opsi-cli --input-file tmp.json jsonrpc execute productPropertyState_createObjects; done
Kein Support per DM!
_________________________
opsi support - https://www.uib.de/
For productive opsi installations we recommend support contracts.
Antworten