Seite 1 von 1

[Gelöst] UEFI Boot per Python Script definieren

Verfasst: 30 Jul 2019, 09:22
von lra-oal.josefeberle
Hallo zusammen,

ich habe ein kleines Python Skript zum Importieren neuer Clients aus einer CSV Datei. Ich möchte dies aber für dieses Jahr erweitern, sodass auch das Häkchen "UEFI Boot" vom Skript gesetzt werden kann.
Wie muss ich das beim Befehl host_createOpsiClient angeben? Ich habe dazu in der Doku auf die Schnelle nichts gefunden.

Vielen Dank!
Gruß
Josef Eberle

Re: UEFI Boot per Python Script definieren

Verfasst: 30 Jul 2019, 14:02
von ThomasT
Hallo,

ich würde das Skript um folgende Zeile ergänzen:

Code: Alles auswählen

opsi-admin -d method configState_create "clientconfig.dhcpd.filename" "hier.host.id" "linux/pxelinux.cfg/elilo.efi"


Angelehnt an:
https://download.uib.de/opsi4.1/documen ... e-hinweise

Gerne auch noch ohne das -d:
https://blog.opsi.org/posts/introducing-opsirc/

Re: UEFI Boot per Python Script definieren

Verfasst: 30 Jul 2019, 14:38
von lra-oal.josefeberle
Hallo,

vielen Dank für die Rückmeldung. Da hab ich wohl etwas grob übersehen...
Wie kann ich dies direkt über das BackendManager Modul lösen? Etwa so? (BackendManager wurde unter opsiBackend initialisiert)

Code: Alles auswählen

opsiBackend.configState_create(id="hostID", clientconfig.dhcp.filename="linux/pxelinux.cfg/elilo.efi")


Gruß
Josef Eberle

Re: UEFI Boot per Python Script definieren

Verfasst: 01 Aug 2019, 09:55
von lra-oal.josefeberle
Hallo,

gibt es hier möglicherweise schon Informationen für mich?

Vielen Dank
Josef Eberle

Re: UEFI Boot per Python Script definieren

Verfasst: 05 Aug 2019, 11:47
von n.wenselowski
Hi,

die Parameter passen nicht - siehe configState_create-Signatur.
Das Objekt ist hierbei der Client, also muss objectId die ID deines Clients sein.


Gruß

Niko

Re: UEFI Boot per Python Script definieren

Verfasst: 06 Aug 2019, 07:27
von lra-oal.josefeberle
Hi,

Super! Vielen Dank für den Link!
So funktioniert es:

Code: Alles auswählen

opsiBackend.configState_create("clientconfig.dhcpd.filename", hostId, values="linux/pxelinux.cfg/elilo.efi")


Vielen Dank für die Hilfe
Josef