Inventarnummer in Paket setzen

Antworten
dark alex
Beiträge: 326
Registriert: 11 Mär 2015, 10:09

Inventarnummer in Paket setzen

Beitrag von dark alex »

Hallo zusammen!

ich möchte aus einem winst-script heraus die Inventarnummer der Clients setzen.
So geht's leider nicht:

Code: Alles auswählen

[OpsiServiceCall_writePCData]
"method": "setHostInventoryNumber"
"params": [
"$data$",
"%hostId%"
]
wie wäre es denn richtig? :?: :?:

//Edit:

Code: Alles auswählen

(80)      [3] [Jan 13 10:40:42:005] [zz-identify-pc]   Error: retrieveJSONObject --- opsi service problem ----> {"message":"Opsi rpc error: Method 'setHostInventoryNumber' is not valid","class":"OpsiRpcError"}
(81)      [3] [Jan 13 10:40:42:005] [zz-identify-pc]   Received (first 512): {"id": 1, "result": null, "error": {"message": "Opsi rpc error: Method 'setHostInventoryNumber' is not valid", "class": "OpsiRpcError"}}                                                                                                                                                                                                                                                                                                                                                                                        
(82)      [3] [Jan 13 10:40:42:005] [zz-identify-pc]   Error: -> {"message":"Opsi rpc error: Method 'setHostInventoryNumber' is not valid","class":"OpsiRpcError"}
dark alex
Beiträge: 326
Registriert: 11 Mär 2015, 10:09

Re: Inventarnummer in Paket setzen

Beitrag von dark alex »

ich habe in der Doku gelesen, dass die opsiServiceCall-Methode nicht für Opsi 4.x-Methoden geeignet ist.
Gibt es alternativen? Ist das überhaupt die Ursache?
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Inventarnummer in Paket setzen

Beitrag von n.wenselowski »

Hi,
dark alex hat geschrieben:ich habe in der Doku gelesen, dass die opsiServiceCall-Methode nicht für Opsi 4.x-Methoden geeignet ist.
Gibt es alternativen? Ist das überhaupt die Ursache?
das bezieht sich auf Methoden der Art objekt_aktion - bspw. host_insertObject.

Welche Version von python-opsi läuft auf deinem Server?
Schau mal bitte, ob du bei folgendem Befehl eine Ausgabe bekommst:

Code: Alles auswählen

grep "def setHostInventoryNumber" /etc/opsi/backendManager/extend.d/20_legacy.conf

Gruß

Niko

Code: Alles auswählen

import OPSI
dark alex
Beiträge: 326
Registriert: 11 Mär 2015, 10:09

Re: Inventarnummer in Paket setzen

Beitrag von dark alex »

Hallo Niko,

Code: Alles auswählen

root@OpsiSrv:~# grep "def setHostInventoryNumber" /etc/opsi/backendManager/extend.d/20_legacy.conf
def setHostInventoryNumber(self, hostId, inventoryNumber):
root@OpsiSrv:~# dpkg -s python-opsi | grep Version
Version: 4.0.6.34-1
root@OpsiSrv:~#
Ich hoffe es lässt sich lösen :)
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Inventarnummer in Paket setzen

Beitrag von n.wenselowski »

Hi,

super, die Methode ist da!

Bist du vertraut mit opsi-admin?
Ich würde mir mal den Hostkey des Clients besorgen und dann eine opsi-admin als dieser Client mit der entsprechenden Methode machen.
Evtl. verhindern die ACL hier etwas und der gezeigte Fehler ist garnicht das eigentliche Problem.


Viele Grüße

Niko

Code: Alles auswählen

import OPSI
dark alex
Beiträge: 326
Registriert: 11 Mär 2015, 10:09

Re: Inventarnummer in Paket setzen

Beitrag von dark alex »

Naja vertraut... ich weiß, dass der Befehl existiert.
Ich weiß auch wie ich die Methode mit opsi-admin aufrufe, aber als der client...?
Ich hab da nur User und Passwort, das wird aber nicht helfen, oder?

//Edit: Okay denkbar einfach...

Code: Alles auswählen

root@OpsiSrv:~# opsi-admin --username <hostid> --password <hostkey> method setHostInventoryNumber <hostid> test-oadm
-> funktioniert
Benutzeravatar
GEI
Beiträge: 233
Registriert: 12 Feb 2010, 13:00
Wohnort: Braunschweig
Kontaktdaten:

Re: Inventarnummer in Paket setzen

Beitrag von GEI »

dark alex hat geschrieben:Naja vertraut... ich weiß, dass der Befehl existiert.
naja, hier geht es so:

Code: Alles auswählen

opsi-admin -d method setHostInventoryNumber gei728.gei.de 728
Es gibt noch die ähnlichen Methoden setHostDescription,setHostLastSeen und setHostNotes.
Leibniz-Institut für Bildungsmedien | Georg-Eckert-Institut (GEI)
---
'opsi4instituts' = Communityprojekt für wissenschaftliche Einrichtungen
offenes Repository, Update-Notifier
wiki.o4i.org - www.gei.de/institut/direktion/it-service/opsi4instituts
dark alex
Beiträge: 326
Registriert: 11 Mär 2015, 10:09

Re: Inventarnummer in Paket setzen

Beitrag von dark alex »

Danke für den Gedanken, das war ja aber auch nicht der Sinn der Sache :)
Es sollte ja getestet werden, ob der Host selbst das Feld beschreiben darf.
dark alex
Beiträge: 326
Registriert: 11 Mär 2015, 10:09

Re: Inventarnummer in Paket setzen

Beitrag von dark alex »

Ähm... Mein PC hatte noch nicht den aktuellen Client Agent. Mit dem neuesten geht's... UPS

//edit: Rückstand waren btw 2-3 Releases
Antworten