begrenzte Nutzungsdauer am PC: Konzeption technisch umsetzbar? (Kindersicherung)

  • Hallo zusammen, nachdem ich intensiv nach ähnlichen Projekten gesucht habe und nach kleinen alternativen Tools, aber nichts verwertbares fand, möchte ich hier kurz anfragen, ob sich ein geplantes Projekt zumindest technisch überhaupt umsetzen lässt.

    • Sinn und Zweck: es gibt am Win7-PC einen Benutzer "Spiele", deren Anmeldezeiten sich über die win-eigene Kindersicherung ja festlegen lassen. Leider aber nicht die tatsächliche Nutzungsdauer, die sich ja auch über mehrere Anmeldungen am Tag verteilen kann.
    • Ziel: Über den Aufgabenmanager möchte ich ein Skript im Hintergrund laufen lassen (ggf. mit Sperrung des Taskmanagers), das die Zeit im Hintergrund mitzählt und dann nach einer entsprechenden Meldung den PC abschaltet.
    • Vorab: ich weiß, dass sich mit entsprechendem Fachwissen quasi jede Lösung aushebeln lässt, dazu gibt es aber bereits genug Diskussionen und das soll hier auch nicht das Thema sein).

    Konzeptionell stelle ich es mir folgendermaßen vor:

    • Das Skript schaut in einem festgelegten Ordner (klar, ist unsicher...), ob es bereits eine Textdatei der Form mmdd.txt gibt. Falls nein, dann alle txt dort löschen und eine neue mmdd.txt anlegen.
    • In regelmäßigen Abständen (jede 1 oder 5 Minuten) liest das Skript die txt aus (es steht nur die abgelaufene Zeit als Minutenzahl drin) und addiert weitere 1 oder 5 Minuten hinzu und aktualisiert die txt (wohl über FileReadLine/FileWrite?). Nach 15 Minuten sollte also schlicht die Zahl 15 in der Datei stehen.
    • Sollte diese Zahl die erlaubte Nutzungsdauer überschreiten, erfolgt zunächst eine oder mehrere Meldungen und dann etwas später ein Shutdown ;( .

    Mir ist klar, dass das System einerseits sehr davon abhängt, dass der Ordner (kann ja geschickt versteckt sein) mit den txt nicht entdeckt wird. Ferner dass das Skript nicht irgendwie abgeschossen wird, aber meine Kids sind da noch sehr unbedarft und ab Win8/10 lässt sich das meines Wissens ja sowieso über den MS-Jugenschutz einstellen. Daher nur eine Zwischenlösung.
    Nur: Unter welchem Konto müsste ich das Skript laufen lassen, damit sowohl die Meldung korrekt angezeigt wird, als auch ein Shutdown sicher durchgeführt wird?
    Und: gibt es noch andere Punkte, die hier Probleme verursachen könnten?
    Danke!

  • Warum nicht.
    Den Ordner schiebst Du in die Tiefen des Windows Ordners - Je tiefer desto besser. Das Scribt läßt Du als Dienst laufen, mit einem unverfänglichen Namen am besten irgendeinen Windows Namen. Dann schreibst due Die Nutzungsdaten entsprechend weg. Alternativ könntest Du das ganze auch noch in die Regestry schreiben. Da sucht erst keiner :). Wer untersucht schon laufende Dienste. Ich bin allerdings nicht sicher ob autoit das von hause aus kann - wenn nicht -- DR. Google Programm als Diensrt ausführen....

    Wenn Zeit um --- > tschüss.


    Gruß

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • hi,
    ich würde 2 Scripte erstellen...
    Das erste Script wird beim login, z.B. über lokale gruppenrichtlinien (dann ist es versteckter :))))), beim login gestartet.
    Es schreibt jede minute den "minutencounter" irgendwo hin

    Das 2te script überprüft jede Minute den "Minutencounter" und regiert dann :)

  • so, ohne es getestet zu haben....



    ok dann könnte mana auch alles in eines schreiben...

  • update: alles in einem script


    kannst uns ja mal bescheid geben, wenn es bei dir funktioniert :)

    4 Mal editiert, zuletzt von GerhardSchr (3. Dezember 2015 um 16:57)

  • Ich habe irgendwann schon mal genau sowas geschrieben, ich werde mal versuchen es wieder zu finden ^^

    Da war sogar noch eine Überwachung der besuchten Internetseiten dabei, und alle Aktivitäten wurden mit in die Log.txt geschrieben, außerdem konnte man z.B. nur bestimmte Internetseiten zulassen. Außerdem konnte man noch per Passwort Zeit hinzufügen und bestimmte Internetseiten auf die Whitelist setzen usw.

    Ich werde mal suchen :D

  • Gefunden 8o

    Bestimmt nicht sehr sicher, aber es sollte noch funktionieren. Achtung, letzter Test vor längerer Zeit unter WinXP . :whistling:

    Die Zeiten, Pfade und das Passwort bitte im Script entsprechend ändern.
    Wenn du die FF-Überwachung nicht benötigst, einfach die Variable $ffcheck auf 0 setzen.
    WICHTIG: Die swbgagent.exe bzw. die swbgagent.au3 sorgt dafür, dass das Hauptscript permanent ausgeführt wird und startet es falls nötig neu.
    Also unbedingt DIESES Script in den Autostart legen und nicht das Hauptscript :rolleyes:

    Leider funktionierte das Hauptscript, warum auch immer, bei mir nur als .au3. Ihr könnt ja mal versuchen es zu kompilieren und auszuführen, aber bei mir stimmte da irgentwas nicht.
    Ich habe im Moment leider keine Möglichkeit es zu testen, das überlasse ich also euch :D

    Fragen und Erfahrungen - immer her damit ;)

    Edit: Bitte ggf. FF schließen bevor ihr das Script startet :whistling:

  • Nennt die Einträge nicht Kindersicherung oder watch oder ähnlich!!! Unterschätzt die Kids nicht. Wer sein Programm Kindersicherung nennt, oder den Reg Eintrag ist selbst schuld wenn die Kids nur 10 Minuten benötigen um das Ganze auszuhebeln. Alles in unverfänglichen Vokabeln. Möglichst Namen die Betriebssystem ähnlich sind..... win7sec68, win 58 usw usw.....oder Namen die es tatsächlich gibt. Sofern das in anderen Zweigen oder Ordnern steckt kein Problem.

    Ich bin Vater :)

    Gruß

    Peter

    Ps: Grundsätzliches zum Thema Kids & Spiele respektive Netz verkneife ich mir........vertrauen sollte mal besser sein als Kontrolle

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Und wenn Du, wie o. g. die Ordner/Dateien in das "Nirgends" von Windows, dann erstelle da doch noch einen versteckten Ordner. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hallo.

    Ich habe hier eine Lösung gezeigt, wie man den Zeitpunkt des Starts herausbekommt. Eventuell kannst du damit was anfangen. Dann müsstest du keine Dateien oder Regestry-Schlüssel erstellen.

    LG

    LG

    Philip

  • Hallo!

    Ich gehe davon aus das der PC zu Hause steht, also ohne AD, denn dort wäre so etwas recht einfach zu lösen!
    Um die lieben Kleinen vom PC zu bekommen (ohne Brechstange) ist es notwendig das es eigene Accouts gibt und die sollten/dürfen nur Benutzerrechte haben.
    Damit ist schon eine sehr große Hürde gelegt das sie Systemdienste/sperren aushebeln.

    Im Grunde ist das ganz einfach:

    * Benutzer hat nur Benutzerrechte
    * Einen Task erstellen (Aufgaben) [z.B.: schtasks /create /SC onstart /TN Watchdog /TR "%windir%\meins.exe" /RU SYSTEM /RL highest /F] mit Systemrechte der ein AutoIt-Programm startet das folgende Eingenschaften aufweißt:
    -Es wird vom Benutzer die Anmeldezeit ausgelesen (entweder über die Commandline net user Benutzername -> Letzte Anmeldung [datum Uhrzeit]) oder wie es grebph in seinen Beispiel macht)
    - Dann wird einfach die Zeit gerechte, sagen wir mal 3 Stunden, bis ein Logoff oder Shutdown durchgeführt wird. Erweiterungen wie Benutzeraccount sperren oder den Tag/Zeit merken wann die letzte An/Abmeldung war bleibt der Fantasie überlassen.

    Umd Fertig ist die Kidssicherung :)

    lg
    Racer

    PS: funktioniert auch bei Erwachsenen !!

  • ein auslesen der anmeldetzeit bringt uns hier aber nicht weiter, denn die Kinder können sich ja auch mehrmals am tag anmelden ....
    es muss also aufaddiert werden...oder?


    Nennt die Einträge nicht Kindersicherung oder watch oder ähnlich!!! Unterschätzt die Kids nicht. Wer sein Programm Kindersicherung nennt, oder den Reg Eintrag ist selbst schuld wenn die Kids nur 10 Minuten benötigen um das Ganze auszuhebeln. Alles in unverfänglichen Vokabeln.

    das Script ist ja anpassbar :)

  • Eine weitere Möglichkeit wäre eventuell EnvGet und EnvSet zu benutzen. Vielleicht reicht das ja?!
    Wenn ich mal an meine Jugend zurück denke, wäre es mir nie in den Sinn gekommen mal in die Umgebungsvariablen zu schauen.
    Ansonsten gibt es aber fertige Programme für eine Kindersicherung am PC. Sollte meiner Schwester sowas auch mal auf ihrem PC installieren.
    War ein geniales Tool, komme aber nicht mehr auf den Namen. Kostete aber ein paar Euro.

    LG

    Philip

  • das hatte ich mal vor etliger zeit zum übung erstellt:


    Ist zwar keine Kindersicherung an sich, aber eine mögliche Sperre, die man dann aktivieren kann :P

  • Ich würde so vielleicht so anfangen:

    Wobei mir die Lösung mit der erstellten Datei noch nicht so 100%ig gefällt.
    Hab aber im Moment auch keine brauchbare Idee wie man das anders machen könnte.

    LG

    LG

    Philip

  • Manchmal verstehe ich ein Forum nicht.
    Da wird rumgeeiert, weil es uncool ist etwas nicht dem Betriebssystem zu entnehmen, wer schreibt schon Daten in ein File /regestry man kann das doch alles irgendwie..... und vielleicht?

    Einem Autoit Scribt ist es vollkommen wurscht ob es ab und an mal eine Zeile in eine TXT Datei oder Regestry schreibt. Es mag uncool sein, aber wenn es funktioniert, ich das von der Syntax her beherrsche ist es mir vollkommen gleichgültig ob etwas uncool ist.

    Wer von Hause aus Programierer, hauptberuflicher EDV Freak ist, oder ehrgeiziger Autodidakt, da mag ich solche Ansprüche noch gelten lassen (manchmal). Wer aber nur ein Problem selbst lösen mag, der sollte auf einfache Mittel zurückgreifen die er auch beherrscht.

    Betrachten wir das vorliegende Problem:

    Die Kids sollen am tag nur eine begrenzte Zeit am Computer sitzen. Das soll kontrolliert und überwacht werden. Je nach Windos Version könnte man nun die Rechte einschränken Windos verbiegen, danach läuft wenn man Pech hat, das eine oder andere Programm nicht mehr? (zu wenig Rechte?) oder gleich nach Win 10 wechseln weil es da soetwas on Board gibt?

    Machen wir es uns also einfacher:

    Wir starten ein kleines Progräämchen, das eine ini Datei aus den Tiefen der Ordnerstruktur öffnet, dort die genehmigte Spielzeit ausliest, den letzten Zeitstempel ausliest, feststellt das Datum dieses Stempels ist von gestern, --> Max Spielszeit.
    Daraufhin hängt es einen neuen Zeitstempel an die bestehnde Liste an Datum, Uhrzeit
    fertig.

    Progrämmchen darf sich zur Ruhe setzen. (Sleep)

    Nach sleep x rechnet Progämmchen die Spielzeit aus, prüft ob ok -> geht schlafen usw...

    Wenn max Spielzeit erreicht --- > ja was dann ? Zwangsabmelden, Bildschirm sperren, mouse abmelden, tastatur blockieren, warnton über die Soundanlage abspielen..... der Fantasie sind keine Grenzen gesetzt.

    Zeitstempel in ini schreiben nicht vergessen.

    Wo sind die Problemstellen?

    Progrämchen so starten dass die Kids das nicht mitbekommen. Das ist wohl der wichtigste Punkt. Damit muss man sich auseinandersetzen. Entweder aus dem Autostart. Da gibt es z.B. die Möglichkeit unser Progrämmchen vortrefflich zu tarnen indem man in den Code den Aufruf für ein anders Sytray Program mit einbaut. Da lassen sich z.B. Lineale, andere Uhren und v.a. aufrufen, im Hintergrund wird unser Progrämmchen gestartet. Merkt garantiert keiner. Nette Möglichkeiten sind auch Programmnamen wie adobe Acrobat Assistant (den gibt es wirklich) HD Autodesk usw. verschwindet in der Masse der Autostarts.

    Oder eben Progrämmchen als Dienst starten:
    http://www.ugg.li/beliebige-prog…-laufen-lassen/
    http://www.wintotal.de/softwarearchiv/?id=3328

    Die Kids fahren den Rechner runter Progrämmchen wird abgewürgt ---> den Kids werden ein paar Minuten Spielzeit geschenkt, da die Zeit seit dem letzten Schreibzyklus verloren geht. Davon geht die Welt nicht unter.

    Dazu brauchts ein paar if Schleifen, ini Befehle, und Schreibbefehle in eine Txt Datei oder Regestry.
    Wobei ich Regestry bevorzugen würde.

    Alte Einträge ab und an löschen, das macht Progrämmchen kurz nach dem Start.


    Obwohl ich es mir verkneifen wollte, da dies ein Programier Forum ist und kein Erziehungsratgeber, gibt es auch noch eine andere Möglichkeit?

    Ja ...

    Wer Zeit für seine Kinder hat, Alternativen aufzeigt, und Lust hat sich mit seinen Kids zu beschäftigen, der wird feststllen dass es auch ohne Überwachung geht. Kinder sind (manchmal) vernünftiger als Ihre Eltern. Einige gute Bücher vorausgesetzt, ist Lesen ja vielleicht eine Alternative.

    Oder möchten wir die Kinder von Kindesbeinen an Überwachung von oben gewöhnen? Der Staat wird solche Erziehungsansätze unterstützen - sie spielen ihn in die Hände. Schöne neue Welt.

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

    Einmal editiert, zuletzt von Peter S. Taler (5. Dezember 2015 um 10:38)

  • Herzlichen Dank für die vielen Inspirationen in so kurzer Zeit! Ist ja doch ein recht emotionales Thema trotz des technischen Hintergrundes. Nur um es ins rechte Licht zu rücken: Irgendeine Form von Überwachung soll dadurch in keiner Weise ermöglicht werden auch keine Bevormundung, sondern in meinem Fall das Gegenteil: aktuell darf die Große (11J) nur den PC starten (und ggf. spielen), wenn ich auch im Haus bin. Also im weitesten Sinne unter Beaufsichtigung. Für ihr Konto mit Internet soll das auch so bleiben. Aber ich möchte ihr ein zweites Konto ohne Kennwort einrichten, das zwar kein Internet ermöglicht (MS Jugendschutz etc.), dafür aber bspw. 1h/Wochentag Spielzeit. Und zwar auch in meiner Abwesenheit. Ich bin ja selbst Lehrer und bzgl. Medienerziehung nicht ganz unbeleckt, mir geht es unterm Strich dabei tatsächlich um mehr Freiheiten.
    Aber zur technischen Frage: Ich habe bereits eine simple und offenbar funktionstüchtige Lösung mit einer kleinen Textdatei irgendwo auf dem PC fertig und es scheint auch zu laufen (wenn alles fertig ist, kopiere ich den Code gerne). Unterm Strich gefällt mir der Gedanke, den Wert einach in die Reg zu schreiben schon deshalb als gut, weil die Befehle dafür ja recht überschaubar sind und ich auch nicht mehr als 1-2 Werte speichern möchte. Eine Textdatei kann mal gelöscht sein oder die Rechte stimmen nicht, außerdem benötigt es (zumindest in meiner aktuellen Fassung) mehr Code. Übrigens lässt sich die regedit.exe NICHT über den Jugendschutz blockieren, das verbietet Windows. Allerdings muss das Ding ja auch wirklich nicht "Kindersicherung" oder so heißen und ist damit selbst für erfahrene User wohl kaum zu finden.
    Außerdem teste ich mal die Hinweise zum verdeckten Start des Codes, mal sehen, welche Lösung am elegantesten ist, zum Testen hatte ich das nur im normalen Autostart und das wäre natürlich etwas trivial. Obwohl - wenn die Rechte stimmen, düfte sich auch dagegen wenig unternehmen lassen. Ich war mir nur noch nicht sicher, ob ein Shutdown unter admin-Rechten (tastplaner?) tatsächlich zuverlässig ist oder ob das dann besser unter dem Nutzerkonto läuft. Im Taskmanager dürfte das kaum zu finden sein, falls der Name geschickt gewählt wird, von daher... Außer: ich hatte eine Benachrichtigung 5 Min vor ABlauf etc. per MsgBox realisiert, vermutlich ließe sich diese (so lange sichtbar) im Taskmanager finden und dann abschießen. Aber wohl nur, sofern dafür nicht einfach ein anderes Skript (zur Anzeige) vom Hauptskript angestoßen wird :)

  • Wenn du dein Hauptscript svchost.exe nennst, ist es für User versteckt (außer es werden Prozesse aller Benutzer angezeigt) und davon gibt es auch immer mehrere, auch Systemprozesse, sodass man die nicht gut unterscheiden kann ;)
    Über die Registry kann man übrigens auch Autostartprogramme (glaube auch als Dienste) eintragen, sind dann schwerer zu entfernen :)

  • Oh, an svchost.exe hatte ich auch schon gedacht, mir war nur noch nicht klar, dass die ausgeblendet werden. Bei XP sah man die noch, oder? Ich habe jetzt bereits eine Variante mit zwei Skripts zum Laufen gebracht (eine für die Meldung), aber das könnte ich dann ja getrost in ein Skript packen, oder? Muss ich mal testen...
    Außerdem den RUN-Schlüssel - die unter HKEY_CURRENT_USER sollten wohl auch nur für das betreffende Nutzerkonto gelten, oder?
    Danke! :thumbup: