Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Rechner herunterfahren, wenn sich niemand einloggt (https://www.delphipraxis.net/112025-rechner-herunterfahren-wenn-sich-niemand-einloggt.html)

Master-of-Magic 13. Apr 2008 17:17


Rechner herunterfahren, wenn sich niemand einloggt
 
Hallo Leute,

Ich hab heute endlich "Wake on Lan" über das Internet zum laufen bekommen. Da ich verhindern will, dass aus versehen (oder absichtlich?) jemand meinen PC ausm Inet startet, möchte ich einen kleinen Auto-Shutdown einbauen.

Situation: Wenn ich meinen PC hochfahre kommt der Login-Screen mit "Klicken sie auf ihren Benutzernamen um ...". Dort klicke ich auf meinen Namen und das wars - Passwort ist keins gesetzt.


Jetzt möchte ich, dass der PC wieder (komplett) heruntergefahren wird, wenn nach X Minuten immer noch kein Login stattgefunden hat (also niemand auf den Namen geklickt hat).

Gibt es eine Möglichkeit das einfach zu realisieren? Dem Befehl zum Ausschalten habe ich (psshutdown von SysInternals). Allerdings waren meine Versuche mit den geplanten Tasks bisher erfolglos.
Außerdem soll der Task ja auch nicht mehr ausgelöst werden, wenn der Login stattgefunden hat ... :gruebel:

Apollonius 13. Apr 2008 17:23

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Du könntest es mit einem Service probieren.

GuenterS 13. Apr 2008 17:25

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Gibt es nicht einen Task der ausgeführt wird beim Systemstart?

Ich würde einen zweiten machen für OnLogon, der dann in der Registry einen bestimmten Wert (datum/Zeit) setzt, denn der erstere Task auswerten muss bevor dieser den pc runterfährt.

Master-of-Magic 13. Apr 2008 17:46

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Ja, es gibt einen Task, der beim Systemstart ausgeführt wird. Das habe ich ja bereits versucht ...

Allerdings wird der aus irgendwelchen Gründen nicht ausgeführt. Es könnte damit zusammenhängen, das mein Admin-Account kein Passwort gesetzt hat - dann hätte sich die Sache erledigt (setzen will ich jetzt keins, da der PC eh bald platt gemacht wird).

Gibt es sonst noch Vorschläge, woran es liegen könnte bzw. wie man das machen könnte? Einen Service werde ich da jetzt sicher nicht schreiben ;)

Der.Kaktus 13. Apr 2008 17:53

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Du musst ja nicht gleich nen Dienst schreiben..Du kannst auch ein Delphiprogramm schreiben und es als Dienst installieren. Da gibt es z.B. ein Programm Application To service (die frueheren!! Versionen waren Free).

Apollonius 13. Apr 2008 17:57

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Keinen Dienst schreiben, aber ein Delphi-Programm als Dienst installieren? Bitte was? In Turbo Delphi gibt es sogar eine Vorlage, um einen Dienst zu schreiben.

Der.Kaktus 13. Apr 2008 18:02

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Zitat:

Zitat von Apollonius
Keinen Dienst schreiben, aber ein Delphi-Programm als Dienst installieren? Bitte was? In Turbo Delphi gibt es sogar eine Vorlage, um einen Dienst zu schreiben.

Er schrieb ja wohl.."einen Dienst werde ich nicht gleich schreiben"..oder? ;-)

Apollonius 13. Apr 2008 18:05

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Du hast in deinem vorigen Beitrag aber geschrieben, dass er ja keinen Dienst schreiben müsse, sondern auch einen Dienst schreiben und installieren könnte (etwas überspitzt formuliert). Das habe ich als Widerspruch aufgefasst.

wido 13. Apr 2008 18:06

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Einfachste (dokumentierte) Möglichkeit, die MS für sowas vorsieht:
http://msdn2.microsoft.com/en-us/lib...83(VS.85).aspx

Ich bin mir im Moment nicht 100% sicher, ob die DLL permanent im winlogon.exe Prozess geladen bleibt (so dass Du prinzipiell einfach einen Timer starten kannst in nem separaten Thread der einfach nen 5 Minuten Countdown macht) oder ob Du den Cooldown in einen Service auslagern musst. Probiers halt einfach aus.

Der.Kaktus 13. Apr 2008 18:08

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Zitat:

Zitat von Apollonius
Du hast in deinem vorigen Beitrag aber geschrieben, dass er ja keinen Dienst schreiben müsse, sondern auch einen Dienst schreiben und installieren könnte (etwas überspitzt formuliert). Das habe ich als Widerspruch aufgefasst.

Es sollte auch so ankommen :bounce1:

Apollonius 13. Apr 2008 18:09

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Ja, das wäre eine ziemlich einfache Möglichkeit: In der DLLMain einen Thread erstellen, der wartet, bis der Event-Handler ein Event signalisiert oder ein Timeout abläuft.

Master-of-Magic 13. Apr 2008 18:38

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Ok, die Sache hat sich wohl erledigt. Der KB Artikel ist recht interessant, allerdings hatte ich eigentlich nicht vor, dafür jetzt etwas zu programmieren.

Ich sollte das nächste mal wohl mehr recherchieren, bevor ich was poste ... folgendes habe ich herausgefunden:
  • Geplante Tasks, die beim Systemstart ausgeführt werden sollen, benötigen ein Passwort für den auszuführenden Account
  • Der Autologin vom Windows funktioniert ebenfalls nur bei gesetztem Passwort
  • Wenn ein Benutzer sowieso automatisch eingeloggt wird, gehen auch wieder geplante Tasks bzw. ich kann die Energieverwaltung verwenden
Fazit: Warum einfach, wenns auch kompliziert geht ;-) : Automatische Benutzeranmeldung aktivieren und als geplanten Task "psshutdown -f -c -k -t 600" bei Anmeldung nach x Minuten Inaktivität eintragen. So bekommt der Nutzer noch 10 Minuten, um das Herunterfahren abzubrechen.


Ich lass hier noch ein Weilchen für Anmerkungen offen ...

Luckie 13. Apr 2008 20:50

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Zitat:

Zitat von Master-of-Magic
Hallo Leute,

Ich hab heute endlich "Wake on Lan" über das Internet zum laufen bekommen. Da ich verhindern will, dass aus versehen (oder absichtlich?) jemand meinen PC ausm Inet startet, möchte ich einen kleinen Auto-Shutdown einbauen.

Situation: Wenn ich meinen PC hochfahre kommt der Login-Screen mit "Klicken sie auf ihren Benutzernamen um ...". Dort klicke ich auf meinen Namen und das wars - Passwort ist keins gesetzt.

Ist das nicht etwas riskant? Du stellst den PC ins Internet, er fährt sogar noch hoch, wenn er ausgeschaltet ist und dann so ganz ohne Passwoert? Und ich gehe auch mal davon aus, dass es sich dabei auch noch um einen Adminstratoren Account handelt.

Und sich dann aber über Online-Durchsuchungen des BKA aufregen. :wall:

mkinzler 13. Apr 2008 20:58

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Ich würde da mal über eine VPN-Lösung nachdenken und dem Account auf jeden Fall ein Passwort verpassen

Master-of-Magic 13. Apr 2008 21:57

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Zitat:

Zitat von Luckie
Ist das nicht etwas riskant? Du stellst den PC ins Internet, er fährt sogar noch hoch, wenn er ausgeschaltet ist und dann so ganz ohne Passwoert? Und ich gehe auch mal davon aus, dass es sich dabei auch noch um einen Adminstratoren Account handelt.

Und sich dann aber über Online-Durchsuchungen des BKA aufregen. :wall:

Hey, ich hab mich nich über das BKA beschwert ... ;)

Aber im Ernst: Momentan ist das nur testweise so. Aber was soll da schon groß passieren? Der PC liegt hinter einen Router. Also müsstest du erstmal an meine MAC rankommen, um ihn anschalten zu können. Nachts wird der entsprechende Port komplett geblockt. Und tagsüber läuft der Rechner meist sowieso (da könnte also auch so ein guter Hacker rein). Dazu kommt, dass du erstmal das Passwort des Remote-Control-Services wissen musst, um überhaupt am Rechner etwas machen zu können ...

Aber ihr habt wohl doch recht ... ein Passwort für den Admin sollte schon noch her :wink:

Cyberbob 14. Apr 2008 00:00

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Wenn man eh ein Passwort brucht, um an den Rechner ran zu kommen, warum machst du dir dann sorgen, dass jemand fremdes den Rechner vom Netz aus einschalten könnte?

mkinzler 14. Apr 2008 05:36

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Er hatte kein Passwort

Cyberbob 14. Apr 2008 13:24

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
[quote="Master-of-Magic"]
Zitat:

Zitat von Luckie
Dazu kommt, dass du erstmal das Passwort des Remote-Control-Services wissen musst, um überhaupt am Rechner etwas machen zu können ...

Also, ich les da was von Passwort! Und wenn eh schon was mit Passwort gemacht wird, warum dann nicht auch dem Benutzerkonto. Und als Admin würde ich das ganze eh nicht machen.

Master-of-Magic 14. Apr 2008 15:22

Re: Rechner herunterfahren, wenn sich niemand einloggt
 
Bevor hier noch mehr Verwirrung entsteht:

- mein System hat bisher nur einen Admin-Account ohne Passwort
- die Aussage mit dem Passwort bezog sich auf dem Teamviewer-Service der den Remotezugriff regelt

Ich wüsste nicht, wie jemand auf den Rechner zugreifen könnte, ohne das Passwort für den Remotezugriff zu kennen. Dennoch macht da ein zusätzliches Admin-PW durchaus Sinn.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz