Windows XP Anmeldeskript automatischer Shutdown nach Zeitpunkt
Hallo,
ich möchte in meinem ANmeldeskript (batch-Datei) einen Passus aufnehmen, nach dem sich der Rechner (Windows XP Prof. SP2 Clients) automatisch nach einer bestimmten Uhrzeit abmelden und selbständig herunterfahren soll, sofern der User - wie so oft - das vergessen hat.
Existieren da passable Lösungen?
Viele Grüße
Herbert
ich möchte in meinem ANmeldeskript (batch-Datei) einen Passus aufnehmen, nach dem sich der Rechner (Windows XP Prof. SP2 Clients) automatisch nach einer bestimmten Uhrzeit abmelden und selbständig herunterfahren soll, sofern der User - wie so oft - das vergessen hat.
Existieren da passable Lösungen?
Viele Grüße
Herbert
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 91418
Url: https://administrator.de/forum/windows-xp-anmeldeskript-automatischer-shutdown-nach-zeitpunkt-91418.html
Ausgedruckt am: 23.12.2024 um 14:12 Uhr
6 Kommentare
Neuester Kommentar
Hi,
also, erst mal die Frage: Soll der Rechner nur abgemeldet werden, oder immer um eine bestimmte Zeit herunterfahren? Weil sonst würd ich einefach einen Cron job (keine ahnung wie das bei XP heisst, geplante tasks oder so) machen, da kann man einfach täglich den "shutdown" befehl um eine bestimmte Zeit ausführen lassen, wobei man da per Parameter noch eine Zeit bis zum Herunterfahren einstellen kann, mit einem Abbrechen Button, wenn der Benutzter noch was machen muss. Sonst kann man mit dem Befehl noch eine meldung á la "Der Computer wird in einer Minute heruntergefahren, wenn sie noch etwas zu erledigen haben, drücken sie bitte auf Abbrechen und vergessen sie bitte nicht den PC nach benutztung auszuschalten".
Die Optionen zu shutdown bekommt man, indem man in der console "shutdown.exe /?" eingibt. Wenn nicht, noch mal die Ausgabe davon posten, dann kann ich das schnell zusammenschreiben, aber ich hab leider z.Z. nurn nen Mac ohen Windows.
Ich hoffe ich konnte klarheit schaffen
p.s. das herunterfahren kann man in jeden fall (zumindest mit entsprechenden Privilegien) mit "shutdown -a" abbrechen
also, erst mal die Frage: Soll der Rechner nur abgemeldet werden, oder immer um eine bestimmte Zeit herunterfahren? Weil sonst würd ich einefach einen Cron job (keine ahnung wie das bei XP heisst, geplante tasks oder so) machen, da kann man einfach täglich den "shutdown" befehl um eine bestimmte Zeit ausführen lassen, wobei man da per Parameter noch eine Zeit bis zum Herunterfahren einstellen kann, mit einem Abbrechen Button, wenn der Benutzter noch was machen muss. Sonst kann man mit dem Befehl noch eine meldung á la "Der Computer wird in einer Minute heruntergefahren, wenn sie noch etwas zu erledigen haben, drücken sie bitte auf Abbrechen und vergessen sie bitte nicht den PC nach benutztung auszuschalten".
Die Optionen zu shutdown bekommt man, indem man in der console "shutdown.exe /?" eingibt. Wenn nicht, noch mal die Ausgabe davon posten, dann kann ich das schnell zusammenschreiben, aber ich hab leider z.Z. nurn nen Mac ohen Windows.
Ich hoffe ich konnte klarheit schaffen
p.s. das herunterfahren kann man in jeden fall (zumindest mit entsprechenden Privilegien) mit "shutdown -a" abbrechen
Moin moin,
Das einfache Windows-Boardmittel wird dir wohl nicht genügen? Vielleicht kennt irgendwer einen Schalter, mit dem man das Hinweisfenster unterdrücken kann ?
Es gibt ein ganz nettes Tool - http://www.aumha.org/free.htm - schau doch dort mal unter shutdown.exe ... kann ein bißchen mehr als der "Standard"
Das einfache Windows-Boardmittel wird dir wohl nicht genügen? Vielleicht kennt irgendwer einen Schalter, mit dem man das Hinweisfenster unterdrücken kann ?
Es gibt ein ganz nettes Tool - http://www.aumha.org/free.htm - schau doch dort mal unter shutdown.exe ... kann ein bißchen mehr als der "Standard"
Hallo all,
ich selbst mache das bei den WS auch mit Windows eigenem shutdown Kommando.
Vom Server aus werde alle Workstation abgemeldet oder runtergefahren. Z. B. vor der Datensicherung.
Du solltest allerdings nicht auf eine Nachricht an den User der WS verzichten falls da noch jemand arbeitet! Der will ja keinen Herzinfarkt bekommen wenn die wichtige Arbeit von Stunden auf einmal weg ist...
Gute Beschreibung wie's geht http://support.microsoft.com/kb/317371
Schöne Grüße aus nett cologne
Jörg
http://www.edv-service.fr
ich selbst mache das bei den WS auch mit Windows eigenem shutdown Kommando.
Vom Server aus werde alle Workstation abgemeldet oder runtergefahren. Z. B. vor der Datensicherung.
Du solltest allerdings nicht auf eine Nachricht an den User der WS verzichten falls da noch jemand arbeitet! Der will ja keinen Herzinfarkt bekommen wenn die wichtige Arbeit von Stunden auf einmal weg ist...
Gute Beschreibung wie's geht http://support.microsoft.com/kb/317371
Schöne Grüße aus nett cologne
Jörg
http://www.edv-service.fr
Hallo Herbert,
also shutdown.exe ist doch wirklich keine elegante Lösung. Vorallem dann nicht, wenn das auch noch andere User sehen können.
Warum schreibst du dir nichts eigenes?
Dieser Code fährt den Rechner runter
DWORD res=0;
ExitWindowsEx(EWX_FORCE|EWX_SHUTDOWN,res);
Unter XP (NT) sind dafür noch Rechte nötig.
Diese werden so programmiert
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges.Luid);
tkp.PrivilegeCount=1;
tkp.Privileges.Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,false,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
Jetzt fehlt dir nur noch ein Timer und ein Ereignis was die WM_QUERYENDSESSION abfangen, und darauf reagieren kann.
Gruß Andreas
also shutdown.exe ist doch wirklich keine elegante Lösung. Vorallem dann nicht, wenn das auch noch andere User sehen können.
Warum schreibst du dir nichts eigenes?
Dieser Code fährt den Rechner runter
DWORD res=0;
ExitWindowsEx(EWX_FORCE|EWX_SHUTDOWN,res);
Unter XP (NT) sind dafür noch Rechte nötig.
Diese werden so programmiert
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges.Luid);
tkp.PrivilegeCount=1;
tkp.Privileges.Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,false,&tkp,0,(PTOKEN_PRIVILEGES)NULL,0);
Jetzt fehlt dir nur noch ein Timer und ein Ereignis was die WM_QUERYENDSESSION abfangen, und darauf reagieren kann.
Gruß Andreas