User Login Script

Antworten
stroetgen
Beiträge: 41
Registriert: 22 Mai 2017, 10:55

User Login Script

Beitrag von stroetgen »

Hallo,

mir ist aufgefallen, dass seit dem Update des Opsi-Servers auf 4.1 manche User Login Scripte nicht mehr laufen.

Wie es aussieht, hat sich das Standardverhalten geändert. Wenn ich den Schalter unter den event_user_login.action_processor_command von "/loginscripts" auf "/allloginscripts" ändere, wird es wieder ausgeführt.

Insofern kann ich den alten Zustand wiederherstellen.

Aber eigentlich wäre es besser, wirklich nur die Login-Scripte auszuführen von Paketen, die tatsächlich installiert sind.

Daher zur eigentlichen Frage: Wie muss ein Paket aussehen, damit das Login-Script tatsächlich ausgeführt wird. Mein Paket löscht und kopiert einfach bei jedem Login bestimmte Pfade und Dateien. Es enthält nur das User-Login-Script, kein Setup/Update/Once-Script. Ich habe für die Clients, bei dennen das Script ausgeführt werden soll, das Paket von Hand auf "installed" gesetzt.

Das scheint aber nicht zu reichen. Was muss gegeben sein, damit bei Schalter "/loginscripts" das Script tatsächlich ausgeführt wird?

Ich hoffe, das Problem ist nachvollziehbar.

Gruß und Dank
Robert
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: User Login Script

Beitrag von n.wenselowski »

Hallo Robert,

ich habe jetzt keinen bewussten Change an der Stelle im Kopf - was nicht heißt, dass nicht irgendeine Änderung ungewollte Querwirkungen hatte.

Die Idee der Login-Scripte ist, dass für die installierten Produkte Änderungen an den User-Profilen gemacht werden können. Wenn der Installationsstatus keine Rolle spielen soll, wird in der Regel /allloginscripts verwendet. Ich würde in deinem Fall entsprechende Produkte einfach mit einem leeren Setup-Script ausstatten. Der Vorteil dabei ist, dass nachvollziehbar ist auf welchen Clients die Scripts überhaupt ausgeführt werden.


Gruß

Niko

Code: Alles auswählen

import OPSI
stroetgen
Beiträge: 41
Registriert: 22 Mai 2017, 10:55

Re: User Login Script

Beitrag von stroetgen »

Hallo,

ich habe jetzt noch einmal eine ganze Weile durchprobiert. Also, dafür den Schalter von /allloginscripts auf /loginscripts zurück gestellt.

Das Login-Skript wird nicht ausgeführt, wenn einer oder beide folgenden Schalter gesetzt sind:
  • Stand: Installed
  • Report: manuelly set
Das Login-Script wird erst dann ausgeführt, wenn ich einen Dummy-Installer baue, das Setup anfordere und anschließend der Status auf "success (setup)" steht.

Bemerkenswert, weil z.B. "opsi-admin -d method productOnClient_getObjects ..." das Paket schon gelistet hatte, wenn ich den Schalter "Stand: Installed" gesetzt hatte.

Bei der Gelegenheit ist mir noch eine andere Auffälligkeit untergekommen. Ein anderes Paket hat "Stand: none" und "Report: success (uninstall)" - und hier wird das Login-Script noch ausgeführt. Erst seit ich den Stand händisch auf "none" gesetzt habe, wird das Login-Script nicht mehr ausgeführt.

Das ist ein wenig irritierend und auch der Doku nicht zu entnehmen. Ich schlage vor, hier noch einmal drauf zu sehen und konsistenter umzusetzen, wann Login-Scripte ausgeführt werden und wann nicht.

Gruß und Dank
Robert
Antworten