Mehrere productID Argumente an Methode setProductInstallationStatus übergeben

Antworten
fly3rman
Beiträge: 2
Registriert: 14 Okt 2015, 16:15

Mehrere productID Argumente an Methode setProductInstallationStatus übergeben

Beitrag von fly3rman »

Hallo, ich versuche der Methode setProductInstallationStatus eine Liste an productID Variablen zu übergeben, was allerdings nicht klarppt
Einzelnes Argument :

Code: Alles auswählen

/# opsi-admin -d method setProductInstallationStatus "7zip" "host.bla.de" "installed"
funktioniert wundebar. Eine JSON Liste an productIDs hingegen nicht:

Code: Alles auswählen

/# opsi-admin -d method setProductInstallationStatus ["7zip","chrome"] "host.bla.de" "installed"
[2] Traceback: (Logger.py|767)
[2]      line 1641 in '<module>' in file '/usr/bin/opsi-admin' (Logger.py|767)
[2]      line 329 in 'main' in file '/usr/bin/opsi-admin' (Logger.py|767)
[2]      line 722 in 'execute' in file '/usr/bin/opsi-admin' (Logger.py|767)
[2]      ==>>> Failed to execute 'method setProductInstallationStatus [7zip,chrome] m01n051.m01de.medneo.de installed': Backend missing data error: Product '[7zip,chrome]' not found on depot 'm01opsi01.m01de.medneo.de' (opsi-admin|1649)
Für Ideen wäre ich dankbar. Ich schreibe mir solange als Abhilfe ein Script, was den Befehl mit Argumenten aus einer Datei füttert.
Benutzeravatar
wolfbardo
uib-Team
Beiträge: 1412
Registriert: 01 Jul 2008, 12:10

Re: Mehrere productID Argumente an Methode setProductInstallationStatus übergeben

Beitrag von wolfbardo »

Das ist eine der praktischen Legacy-Methoden, bei der man allerdings keine Listen übergeben kann.
Näheres im opsi-Handbuch oder ...

Gruss
Bardo Wolf


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


fly3rman
Beiträge: 2
Registriert: 14 Okt 2015, 16:15

Re: Mehrere productID Argumente an Methode setProductInstallationStatus übergeben

Beitrag von fly3rman »

Alles klar, vielen Dank.
"Gelöst" durch ein einfaches Python Script:

Code: Alles auswählen

import os

productId = [
"acroread11",
"7zip"
]

for product in productId:
    command = "opsi-admin -d method setProductInstallationStatus \"" +product+ "\" \"host1a.bla.de\" \"installed\"" 
    print(command)
    os.system(command)
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Mehrere productID Argumente an Methode setProductInstallationStatus übergeben

Beitrag von n.wenselowski »

Hi,

als Alternative: Backend-Erweiterung dafür schreiben.
Man kann die bereits vorhandene Methode dafür einfach als Vorlage nehmen ;)


Gruß

Niko

Code: Alles auswählen

import OPSI
Antworten