OPSI ServiceCall wirft HTTPSender Error

magicalUnicorn
Beiträge: 121
Registriert: 07 Mär 2019, 14:46

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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 :/
Zuletzt geändert von magicalUnicorn am 13 Sep 2023, 11:45, insgesamt 1-mal geändert.
mdecker
Beiträge: 85
Registriert: 26 Mär 2012, 16:20

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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
magicalUnicorn
Beiträge: 121
Registriert: 07 Mär 2019, 14:46

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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
thomas.besser
Beiträge: 461
Registriert: 09 Sep 2009, 09:40

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag von thomas.besser »

Seit opsi-script/opsi-winst 4.12.4.17 gibt es sogar darfür eine Funktion namens "runningInWanMode".
magicalUnicorn
Beiträge: 121
Registriert: 07 Mär 2019, 14:46

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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.
thomas.besser
Beiträge: 461
Registriert: 09 Sep 2009, 09:40

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag von thomas.besser »

Wenn ein Script im WAN-Modus läuft, dann ist für mich klar, dass der Haken gesetzt ist.
magicalUnicorn
Beiträge: 121
Registriert: 07 Mär 2019, 14:46

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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.
Benutzeravatar
n.doerrer
uib-Team
Beiträge: 267
Registriert: 23 Okt 2020, 16:11

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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
magicalUnicorn
Beiträge: 121
Registriert: 07 Mär 2019, 14:46

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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?
Benutzeravatar
n.doerrer
uib-Team
Beiträge: 267
Registriert: 23 Okt 2020, 16:11

Re: OPSI ServiceCall wirft HTTPSender Error

Beitrag 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...
Antworten