Seite 2 von 3

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 08:33
von magicalUnicorn
Das klappt besser, allerdings ist mir aufgefallen, dass %HostID% unterschiedliche Werte zurück gibt, jenachdem ob Ich das Paket später vom Server laufen lasse, oder lokal über opsi-script teste. Ist das so gewollt? :D

Ich bin außerdem noch auf der Suche nach API-Funktionen, mit denen Ich checken kann ob für einen Client die Haken bei UEFI Boot und WAN-Konfiguration gesetzt sind.

Für die WAN-Config hab ich nur eine Funktion gefunden, mit der man diese für den Client aktivieren kann, aber zum auslesen davon hab ich bisher nix gefunden. Das heiß erfahrungsgemäß aber nicht, dass das nicht existiert :D
Edit: Ich würde auch gerne noch die Gruppenmitgliedschaften des Clients auslesen und übertragen, da hab ich aber bisher auch keine Passende Methode gefunden :/

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 10:44
von mdecker
Für die WAN-Config hab ich nur eine Funktion gefunden, mit der man diese für den Client aktivieren kann, aber zum auslesen davon hab ich bisher nix gefunden. Das heiß erfahrungsgemäß aber nicht, dass das nicht existiert :D
Wie man raus finden kann, ob der Haken gesetzt ist, weiß ich zwar nicht, aber man kann relativ leicht sehen, ob die Installation aus dem lokalen Cache oder vom Server erfolgt:

Code: Alles auswählen

if ("%opsiServer%"="127.0.0.1")
			comment "Script running in WAN/VPN mode"
endif

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 10:45
von magicalUnicorn
mdecker hat geschrieben: 13 Sep 2023, 10:44
Für die WAN-Config hab ich nur eine Funktion gefunden, mit der man diese für den Client aktivieren kann, aber zum auslesen davon hab ich bisher nix gefunden. Das heiß erfahrungsgemäß aber nicht, dass das nicht existiert :D
Wie man raus finden kann, ob der Haken gesetzt ist, weiß ich zwar nicht, aber man kann relativ leicht sehen, ob die Installation aus dem lokalen Cache oder vom Server erfolgt:

Code: Alles auswählen

if ("%opsiServer%"="127.0.0.1")
			comment "Script running in WAN/VPN mode"
endif
Das ist defintiv gut zu wissen, das hätte mir bei einigen anderen Paketen das Leben erleichtert :D Aber zumindest für diesen Fall ist es nicht das, was ich suche

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 12:13
von thomas.besser
Seit opsi-script/opsi-winst 4.12.4.17 gibt es sogar darfür eine Funktion namens "runningInWanMode".

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 12:56
von magicalUnicorn
thomas.besser hat geschrieben: 13 Sep 2023, 12:13 Seit opsi-script/opsi-winst 4.12.4.17 gibt es sogar darfür eine Funktion namens "runningInWanMode".
Wie oben erwähnt. Ich will ja nicht wissen, ob das Skript aktuell im WAN-Mode läuft, sondern ob der Haken dafür im OPSI gesetzt ist. Ob ich das jetzt via Script-Funktion oder ServiceCall erfrage ist mir dabei egal.

Es gibt die API-Funktion "changeWANConfig", mit der man das entsprechend aktivieren/deaktivieren kann. Ich suche jetzt nach einer Möglichkeit äquivalent den aktuellen Stand auszulesen.

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 12:58
von thomas.besser
Wenn ein Script im WAN-Modus läuft, dann ist für mich klar, dass der Haken gesetzt ist.

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 13:27
von magicalUnicorn
thomas.besser hat geschrieben: 13 Sep 2023, 12:58 Wenn ein Script im WAN-Modus läuft, dann ist für mich klar, dass der Haken gesetzt ist.
Richtig, aber es kann auch durchaus vorkommen, dass das Skript nicht im WAN-Modus läuft auch wenn der Haken gesetzt ist. z.B. On-Demand ausführen.

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 13:28
von n.doerrer
Je nachdem was das Ziel ist, könnte man prüfen, ob das config
"opsiclientd.event_timer.active" existiert und auf true steht.

z.B. per opsiservicecall

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 14:59
von magicalUnicorn
n.doerrer hat geschrieben: 13 Sep 2023, 13:28 Je nachdem was das Ziel ist, könnte man prüfen, ob das config
"opsiclientd.event_timer.active" existiert und auf true steht.

z.B. per opsiservicecall
Ziel ist es auf Server A den Stand auszulesen und auf Server B, wohin der Client migriert wird, zu übertragen. Das Timer-Event sollte reichen, das ist nur auf den WAN-Clients aktiv.
Hasts du noch Ideen zum auslesen/setzen des UEFI-Hakens und Übertragung der Gruppen?

Re: OPSI ServiceCall wirft HTTPSender Error

Verfasst: 13 Sep 2023, 16:49
von n.doerrer
für den "UEFI-Haken" kann man nach configstates von "clientconfig.dhcpd.filename" schauen.

Gruppen findet man mit

Code: Alles auswählen

opsi-cli jsonrpc execute group_getObjects
und Gruppenzugehörigkeiten mit

Code: Alles auswählen

opsi-cli jsonrpc execute objectToGroup_getObjects
Beispielsweise:

Code: Alles auswählen

opsi-cli --output-format=table --attributes=groupId,groupType,objectId jsonrpc execute objectToGroup_getObjects
ggfs ergänzt durch Filter...