gruml 10 Geschrieben 27. August 2004 Melden Teilen Geschrieben 27. August 2004 Hi, ich suche eine Lösung, wie ich einen User nach z.B. 1 Stunde automatisch am Rechner abmelden kann. Ziel ist es, ich möchte manchen Notebookusern die Möglichkeit geben, daß sie sich in "Notfällen" mit einem Admin Account an ihrem Rechner anmelden können. Um aber ein dauerhaftes Arbeiten mit diesem Account zu verhindern, sollen sie nach einer Stunde zwangsweise abgemeldet werden. Die Geschichte muss nicht 100% sicher sein, es soll so sein, dass ein normaler User diese Grenze nicht leicht umgehen kann. Any ideas? Grüße gruml Zitieren Link zu diesem Kommentar
gr@mlin 10 Geschrieben 27. August 2004 Melden Teilen Geschrieben 27. August 2004 hi, nur so ne idee... du könntest beim administrator-login ein script starten, dass 1 stunde wartet und dann den user abmeldet. dazu könntest du z.b. eine wait.exe und das kommando shutdown -l -f benutzen. oder nur mit shutdown: shutdown -l -t 3600 -f aber deine user könnten das script anhalten/abbrechen oder sich nach abmeldung wieder anmelden... gruss, gr@mlin Zitieren Link zu diesem Kommentar
gruml 10 Geschrieben 27. August 2004 Autor Melden Teilen Geschrieben 27. August 2004 Hi gr@mlin, an shutdown hab ich auch schon gedacht. aber bei mir funktioniert die zeitverzögerung nicht. egal welche zeit ich mit -t übergebe, ich werde innerhalb von 1-2 sekunden abgemeldet. aber generell ist ein offenes batch fenster eh nicht gerade optimal, das läd ja dazu ein es zu schliessen :-) ich glaube das kriegen die spitz... ein ansatzpunkt den ich hätte, wäre irgendwas mit dem taskplaner zu machen. aber leider kann man dort nicht eine stunde nach anmeldung eintragen ;) und stumpfsinnig immer zur vollen stunden ein skript ablaufen lassen ist auch doof . das läuft dann vor allem bei jedem user... grüße gruml Zitieren Link zu diesem Kommentar
DaniFilth 10 Geschrieben 27. August 2004 Melden Teilen Geschrieben 27. August 2004 Wie wäre es, ein Script in den Autostart zu setzen, dass einen Task erstellt, der das System um Systemzeit + 1 Stunde herunterfährt (über die Umsetzung will ich jetzt mal nicht reden ;) )? Zitieren Link zu diesem Kommentar
gruml 10 Geschrieben 27. August 2004 Autor Melden Teilen Geschrieben 27. August 2004 genau, an so was hatte ich auch gedacht, klingt doch eigentlich auch ganz einfach :-) aber ich habe bis jetzt nichts gefunden,wie man den taskplaner per skript konfigurieren kann. offtopic: wie heisst den taskplaner im engl. windows, hab zu hause nur german? dann hätte ich mehr futter für google.. gruml edit: es gibt ja den at befehl, ganz vergessen. mal gucken was damit geht... Zitieren Link zu diesem Kommentar
gr@mlin 10 Geschrieben 27. August 2004 Melden Teilen Geschrieben 27. August 2004 hi, was hälst du hiervon? http://www.daxtar.de/download/shutdown.html This program is a stand alone exe, so copy it in your favorite tool's place and create a link in your startup folder. Attention : Shutdown Timer minizes directly to your system tray when started ! systray icons kann man verstecken... :D gruss, gr@mlin Zitieren Link zu diesem Kommentar
gruml 10 Geschrieben 27. August 2004 Autor Melden Teilen Geschrieben 27. August 2004 kann man ein bestimmtes systray icon komplett "wegmachen"? im xp style verstecken/ausblenden ist mir ein bischen mager... grüße gruml edit: at ist schon mal gar nicht schlecht, jetzt muss ich "nur" noch irgendwie die aktuelle zeit plus eine stunde hinbekommen... Zitieren Link zu diesem Kommentar
gr@mlin 10 Geschrieben 27. August 2004 Melden Teilen Geschrieben 27. August 2004 dies hier ist nur eins von zig tools, die das können. das kann mit sicherheit auch gescriptet werden, aber dazu kann ich nicht viel sagen... hier ist übrigens noch so'n tool, das dir nen geplanten logoff nach x minuten macht. Zitieren Link zu diesem Kommentar
gr@mlin 10 Geschrieben 28. August 2004 Melden Teilen Geschrieben 28. August 2004 so - hab jetzt mal n bisschen gebastelt... @echo off REM Uhrzeit in Datei schreiben echo %time% > c:\zeit.dat REM Stunden Wert + 1 for /f "delims=: tokens=1" %%i in (c:\zeit) do set /a var1=%%i+1 for /f "delims=: tokens=2" %%i in (c:\zeit) do set /a var2=%%i for /f "delims=: tokens=3" %%i in (c:\zeit) do set /a var3=%%i REM Neue Uhrzeit in Variable set newtime=%var1%:%var2%:%var3% REM Logoff Task erstellen at %newtime% shutdown -l -f ...und das um diese uhrzeit :o gut's nächtle, gr@mlin Zitieren Link zu diesem Kommentar
gruml 10 Geschrieben 28. August 2004 Autor Melden Teilen Geschrieben 28. August 2004 wau, hey das ist ja klasse, vielen Dank gr@mlin :-) der tip mit der powerroff war schon echt gut, war die ganze zeit am experimentieren damit. aber das script ist natürlich echt klasse. Danke! :) grüße und ne gute Nacht gruml Zitieren Link zu diesem Kommentar
gruml 10 Geschrieben 28. August 2004 Autor Melden Teilen Geschrieben 28. August 2004 so, hab noch einen kleinen Bug gefixt, wenn es 23:xx Uhr ist, wurde der Task auf 24:xx gesetzt. Das fand Windows nicht witzig :-) @echo off REM Uhrzeit in Datei schreiben echo %time% > c:\zeit.dat REM Stunden Wert + 1 for /f "delims=: tokens=1" %%i in (c:\zeit.dat) do set /a var1=%%i+1 for /f "delims=: tokens=2" %%i in (c:\zeit.dat) do set /a var2=%%i for /f "delims=: tokens=3" %%i in (c:\zeit.dat) do set /a var3=%%i REM wenn %var1% gleich 24 auf 00 setzen if %var1%==24 set var1=00 REM Neue Uhrzeit in Variable set newtime=%var1%:%var2%:%var3% REM Logoff Task erstellen at %newtime% shutdown -l -f > c:\at.dat Vielen Dank noch mal gr@mlin, das war echt super von Dir :) Eine kleine Frage hab ich noch, ich lasse die Rückmeldung vom "at" Kommando in c:\at.dat schreiben. Der Inhalt der Datei sieht z.B. so aus Neuer Auftrag hinzugefgt. Kennung = 1 Jetzt würde ich gerne die Task Kennung (z.B. 1) in einer Variablen haben, damit ich genau diesen Task löschen kann, falls der User sich vorher selbst abmeldet. Es wäre ja doof, wenn er von seinem normalen Benutzerkonto plötzlich abgemeldet wird ;) Kann mir dabei jemand helfen? grüße gruml edit: so bin wieder ein stückchen weiter... @echo off REM Uhrzeit in Datei schreiben echo %time% > c:\zeit REM Stunden Wert + 1 for /f "delims=: tokens=1" %%i in (c:\zeit) do set /a var1=%%i+1 for /f "delims=: tokens=2" %%i in (c:\zeit) do set /a var2=%%i for /f "delims=: tokens=3" %%i in (c:\zeit) do set /a var3=%%i if %var1%==24 set var1=00 REM Neue Uhrzeit in Variable set newtime=%var1%:%var2%:%var3% REM Logoff Task erstellen at %newtime% notepad.exe > c:\at.dat REM alles abschneiden bis auf die Tasknummer For /f "tokens=6" %%i in (c:\at.dat) do echo %%i > c:\at.dat später wirds vielleicht auch noch eleganter... aber es tut schon mal ;) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.