bluestarde
Goto Top

MacOS - Skript beim Anmelden und Abmelden eines Benutzers ausführen

[Betreff bearbeitet um bei Suchergebnissen gleich Klarheit zu haben! Es geht hier um MacOS!]

Hallo zusammen...

Die Challenge lautet:

Immer wenn sich ein Benutzer anmeldet und abmeldet, soll in einer vorgegebenen Log-Datei ein Eintrag geschrieben werden.
Format des Eintrages: "Login;Rechnername;Benutzername;Datum-Uhrzeit" , bzw. "Logout;Rechnername;Benutzername;Datum-Uhrzeit"

Diese Logdatei soll immer erweitert werden und die neueste Version immer auf ein SMB-Share kopiert werden.
Alternativ kann die Logdatei natürlich direkt schon auf dem SMB-Share liegen. Wenn das möglich ist.

Das Ganze soll möglichst ohne irgendwelche Meldungen beim angemeldeten Benutzer ablaufen.

Es geht einfach um Arbeitszeiterfassung....

Hat da jemand eine möglichst einfache Lösung? Beim den Windows-Clients konnte ich das über die Gruppenrichtlinie machen....

Schonmal besten Dank im Voraus.

Content-ID: 341240

Url: https://administrator.de/forum/macos-skript-beim-anmelden-und-abmelden-eines-benutzers-ausfuehren-341240.html

Ausgedruckt am: 23.12.2024 um 02:12 Uhr

Kraemer
Kraemer 21.06.2017 um 20:36:40 Uhr
Goto Top
Moin,

das ist keine "Challenge"! Das ist mit ein wenig googlen und ein paar Stunden Zeit selbst für Anfänger zu schaffen.

Für nen Pro liegt der größte Zeitaufwand beim Testen, weil dazu der Rechner neu gestartet werden muss...

Gruß
BlueStarDE
BlueStarDE 21.06.2017 um 20:44:52 Uhr
Goto Top
Aaaalso... Ich hab ne Stunde gegoogelt und finde normalerweise relativ schnell gute Ergebnisse...
Aber Du kannst mir gerne mit entsprechenden Links auf die Sprünge helfen...
Kraemer
Kraemer 21.06.2017 um 20:54:54 Uhr
Goto Top
Google: Batch Zeiterfassung
1. Treffer: fast perfekte Lösung hier im Forum

Zeitaufwand: 10 Sekunden
em-pie
em-pie 21.06.2017 aktualisiert um 20:57:04 Uhr
Goto Top
Tach,

wie Kraemer schrieb, solltest du mit einer Suchmaschine deiner Wahl und dem Begriff "script while user logs off" vorwärts kommen...

Mir erschließt sich ja nie, warum die Leute (Chefs) immer irgendwie das Stempeln mit der Useranmeldung kombinieren wollen.
Das erfordert im Nachinein wesentlich mehr Korrekturen an den Stempelzeiten als wenn man irgendwo eine WebGui oder eine Stempeluhr platziert...

"Warum fehlen Ihnen 2Stunden am Montag? - "Mein PC hatte am Freitag Updates installiert und beim Einschalten am Montag wurden die nachinstalliert. Gleichzeitig hat die IT neue SoftwareUpdates per Richtlinie verteilt."
Oder " Wo sind Sie am Mittwoch zwischen 14:33 und 14:54 gewesen?" - "Der PC hatte Probleme und der Herr Nerd aus der IT musste den 20 Minuten lang reparieren"...

Naja.. anderes Thema, sorry....


Gruß
em-pie
Kraemer
Kraemer 21.06.2017 um 21:00:58 Uhr
Goto Top
PS: das was du da vor hast ist wahrscheinlich illegal
chgorges
chgorges 21.06.2017 aktualisiert um 21:09:25 Uhr
Goto Top
Es geht einfach um Arbeitszeiterfassung....

Nope, das ist keine transparente Zeiterfassung, das ist versteckte Überwachung, was höchst illegal ist.
Wen das rauskommt, kommen dein Chef, du und alle anderen Beteiligten/Mitwissenden überspitzt in den Knast, deshalb wirst du hier, zumindest von den integren Admins, keine Hilfe bekommen, sorry.
BlueStarDE
BlueStarDE 21.06.2017 um 21:30:47 Uhr
Goto Top
Oh Jungs, bleibt mal locker...
Wenn ich schreibe, daß der User keine Mitteilungen bekommen soll, daß eher aus dem Grund, daß keine Meldungen oder so erscheinen sollen, die die User an- oder wegklicken sollen.

Die Mitarbeiter sind übrigens alle informiert. Es wird auf den Windows-Arbeitsplätzen längst durchgeführt, aus der Logdatei wird ein Arbeitszeitenblatt gedruckt (Zeiten gerundet und viel anderes BlaBla automatisiert) und die Mitarbeiter unterschreiben es am Ende des Monats.

Also einen Rechtsanwalt brauche ich nicht, sondern jemand, der mir zur Lösung verhilft...

Danke trotzdem!
Vision2015
Vision2015 21.06.2017 um 21:34:04 Uhr
Goto Top
Zitat von @chgorges:

Es geht einfach um Arbeitszeiterfassung....
jo...

Nope, das ist keine transparente Zeiterfassung, das ist versteckte Überwachung, was höchst illegal ist.
Wen das rauskommt, kommen dein Chef, du und alle anderen Beteiligten/Mitwissenden überspitzt in den Knast, deshalb wirst du hier, zumindest von den integren Admins, keine Hilfe bekommen, sorry.

also das halte ich für ein gerücht, dann wäre ja das lesen von Account-Logon-Events illegal face-smile
was nen Unfug....
Frank
Kraemer
Kraemer 21.06.2017 um 21:37:00 Uhr
Goto Top
Zitat von @Vision2015:

Zitat von @chgorges:

Es geht einfach um Arbeitszeiterfassung....
jo...

Nope, das ist keine transparente Zeiterfassung, das ist versteckte Überwachung, was höchst illegal ist.
Wen das rauskommt, kommen dein Chef, du und alle anderen Beteiligten/Mitwissenden überspitzt in den Knast, deshalb wirst du hier, zumindest von den integren Admins, keine Hilfe bekommen, sorry.

also das halte ich für ein gerücht, dann wäre ja das lesen von Account-Logon-Events illegal face-smile
was nen Unfug....
Frank
Wenn du die Daten ohne Wissen des Mitarbeiters auswertet, dann ist das illegal!
Vision2015
Vision2015 21.06.2017 um 21:48:44 Uhr
Goto Top
Wenn du die Daten ohne Wissen des Mitarbeiters auswertet, dann ist das illegal!
was ist an Login zeiten schützenswert ? privatsphäre? das ist arbeitszeit die bezahlt wird!
und das sind Erhebungsdaten des Arbeitgebers, nicht des Mitarbeiters!
gut, für die ganz genauen, sowas kann ja im Arbeitsvertrag geregelt werden & und als bekanntmachung!

Frank
chgorges
chgorges 22.06.2017 um 09:39:45 Uhr
Goto Top
Zitat von @Vision2015:
also das halte ich für ein gerücht, dann wäre ja das lesen von Account-Logon-Events illegal face-smile
was nen Unfug....
Frank

Nicht wirklich, streng genommen muss man sich selbst dafür eine Genehmigung einholen, oder glaubst du, Admins dürfen Alles, nur weil sie Admins sind?
Penny.Cilin
Penny.Cilin 22.06.2017 um 12:42:30 Uhr
Goto Top
Mahlzeit,

auch bei diesem Beitrag ist wiedermal festzustellen, daß man sich keine Mühe gibt, selbst zu suchen, stattdessen postet man ins Forum.
Also @kreamer hat dies in seiner ersten Antwort betreffend beschrieben.

Und nur so als Hint: Einfach mal in Englisch suchen, oder die Suchparameter sinngemäß anpassen.


Gruss Penny
BlueStarDE
BlueStarDE 23.06.2017 um 21:50:38 Uhr
Goto Top
Liegt das jetzt daran, dass die vermeintlichen AppleUser hier die Schlaumeier sind, oder verkommt das ganze Forum hier grad etwas?

Mein Gott, wenn jeder alles im Netz sofort finden würde und die richtigen Beiträge findet, bräuchten wir dieses Forum hier gar nicht mehr. Ich bin mir sicher, alle Fragen die hier beantwortet wurden, stehen auch irgendwo anders im Netz...

Also geil fände ich ja, wenn jemand mir mit einer Lösung geholfen hätte und nicht mit vermeintlich klugen Sprüchen....
133417
133417 23.06.2017 aktualisiert um 22:04:51 Uhr
Goto Top
Hier findste alles was du brauchst und bei Bedarf noch etwas mehr
Anmeldestatus von Benutzern im Active Directory speichern

Gruß
BlueStarDE
BlueStarDE 23.06.2017 um 22:12:04 Uhr
Goto Top
Lieben Dank, aber ich hab das extra in die MacOS Kategorie geschrieben.

Es handelt sich um einen Mac-Rechner, der in keiner Domäne hängt.
Penny.Cilin
Penny.Cilin 24.06.2017 um 11:35:00 Uhr
Goto Top
Zitat von @BlueStarDE:

Lieben Dank, aber ich hab das extra in die MacOS Kategorie geschrieben.
Hm, leider nicht in Deinem Ursprungsbeitrag, deshalb gingen/gehen alle davon aus, daß es sich um Windows handelt.
Deshalb schreibt man benötigte Informationen auch in seinen Beitrag.
Soweit ich weiß nutzt MacOS in der aktuellen Version einen FreeBSD Unterbau, richtig?
Somit müßte man es mittels Shellscripting lösen.

Es handelt sich um einen Mac-Rechner, der in keiner Domäne hängt.
OK, vielleicht kann folgendes helfen:
1. Fund
2. Fund

Vielleicht kann aus der Linux/Unix Fraktion jemand unterstützen.
Ich kann mir vorstellen, daß Deine gewünschte Lösung auch unter Linux/Unix lösbar ist.


Gruss Penny
BlueStarDE
BlueStarDE 26.06.2017 um 11:43:24 Uhr
Goto Top
Das ist natürlich echt blöd... Ja, gebe zu, da hätte ich wohl noch mit ein paar mehr Details glänzen können...
Sorry an alle, die jetzt in die Windows-Richtung dachten... Ich hatte nur die MacOS Kategorie angeklickt und dachte, da schauen dann auch nur MacUser rein... Asche auf mein Haupt...

Danke Penny für Deine beiden Funde... Schaue ich mir in Ruhe an und teste es.

An alle anderen, einen entspannten Start in die neue Woche.
Ich gebe Rückmeldung, was geklappt hat.
133417
Lösung 133417 26.06.2017 aktualisiert um 15:42:35 Uhr
Goto Top
Bash auf dem Mac öffnen:
sudo defaults write com.apple.loginwindow LoginHook /path/to/loginscript.sh
sudo defaults write com.apple.loginwindow LogoutHook /path/to/logoutscript.sh
(Pfade zu Scripts anpassen | muss für alle User erreichbar sein)

Dann zwei Scripts erstellen mit Inhalt:
#!/bin/sh 
dtm=$(date "+%Y%m%d %H:%M:%S")  
echo "Logon;$HOSTNAME;$1;$dtm">>/path/to/log.txt  
Pfade anpassen, fertig. Abmelden, wieder anmelden und Textdatei checken ...

Gruß
BlueStarDE
BlueStarDE 26.06.2017 um 15:49:06 Uhr
Goto Top
BibersBaum,
Mega! Danke.... Werde ich leider erst Mittwoch testen können. Sieht aber gut aus. Kann ich für die Pfade auch SMB Pfade nehmen und auch einfach so schreiben? Oder muss ich die anders formatieren?
Sowohl die Scripte, als auch die Log-Datei gerne auf einen SMB-Pfad liegen haben wollen...
133417
133417 26.06.2017 aktualisiert um 15:50:35 Uhr
Goto Top
Da musst du im Script dem user root schon den SMB Pfad in ein Verzeichnis mounten, dann kein Thema.
BlueStarDE
BlueStarDE 26.06.2017 um 15:54:39 Uhr
Goto Top
Ach ja.... alles klar...
Mir fehlt etwas MacOS Erfahrung, aber mit etwas Linux Erfahrung kommt man da gut weiter! face-smile

Ich berichte, ob alles läuft!
133417
Lösung 133417 26.06.2017 aktualisiert um 16:00:27 Uhr
Goto Top
Samba mount
mount_smbfs //username:password@192.168.1.22/sharename /mnt/point
Unmount
umount /mnt/point
Ich berichte, ob alles läuft!
Wurde hier mit Mac OS X Sierra bereits erfolgreich getestet ...
BlueStarDE
BlueStarDE 26.06.2017 aktualisiert um 18:30:41 Uhr
Goto Top
[Beitrag habe ich nachträglich nochmal geändert, wegen neuer Erkenntnisse]
Hallo Biber,
Ganz herzlichen Dank für die Hilfe.
Soeben konnte ich erfolgreich das An- & Abmelden test.
Alles funktioniert.
Habe die beiden Scripte dann doch lokal auf dem Mac gespeichert und jeweils in dem Script das Mounten und nach dem ECHO das unmount eingefügt.
Klappt bestens. Danke!

Eines klappt noch nicht und hab bisher auch bei meinem Freund Google noch nichts gefunden:

Die Einträge erscheinen (anders als bei meinen Windows-Clients) alle hintereinander in der gleichen Zeile. Auch hier habe ich schon versucht mit \n einen Zeilenumbruch zu erzwingen. Erfolglos.
Spontan einen Tip, daß jeder neue Logeintrag in einer neuen Zeile erscheint?

Schonmal besten Dank im Voraus.
133417
Lösung 133417 26.06.2017 aktualisiert um 18:36:58 Uhr
Goto Top
Zitat von @BlueStarDE:

Die Einträge erscheinen (anders als bei meinen Windows-Clients) alle hintereinander in der gleichen Zeile. Auch hier habe ich schon versucht mit \n einen Zeilenumbruch zu erzwingen. Erfolglos.
Spontan einen Tip, daß jeder neue Logeintrag in einer neuen Zeile erscheint?
Doch, die sind untereinander, nur dein dämliches Notepad stellt eben nur Windowszeilenumbrüche (\r\n) dar und keine Unixumbrüche(\n) face-wink Nutze einen anderen Editor (z.B. Notepad++) und du siehst das diese definitiv vorhanden sind!
Wohl noch Anfänger im Business was face-wink, das kennt eigentlich jeder der mal mit Linux in Kontakt kommt.
BlueStarDE
BlueStarDE 26.06.2017 um 18:58:55 Uhr
Goto Top
grrr.... Klug###er... face-smile Nein... im Ernst: Du hast ja recht... Oder sagen wir mal "Jetzt wo Du es sagst!" .....
Hab ich echt nicht dran gedacht, weil es bei den Windows-Scripts ja ohne Probleme lief... Naja... Beschäftige mich nicht so oft damit.

Aber danke... Durch \r\n wird es dann auch im Notepad richtig angezeigt.

Nochmals Merci.... Gibt beim nächsten Treffen ein Bier! face-smile
BlueStarDE
BlueStarDE 26.06.2017 um 18:59:37 Uhr
Goto Top
haha... grad gesehen, dass hier automatisch zensiert wird... face-smile