Hallo zusammen,
ich habe ein kleines Skript geschrieben, welches alle X Minuten die Leerlaufzeit prüft (Funktion _Timer_GetIdleTime). Wenn eine bestimmte Zeit erreicht ist, prüft es mittels CMD Befehl netstat, ob ein bestimmtes Gerät gerade eine Verbindung zum Rechner hergestellt hat. Wenn ja, mache nix sondern gehe wieder zur Prüfschleife und wenn keine Verbindung vorhanden ist, schalte den Rechner in den Energiesparmodus.
Hintergrund: Auf dem Rechner läuft ein Mediaserver und wenn gerade ein Fernseher oder ein Smartphone eine Verbindung offen hat, soll er natürlich nicht ausgehen. Klappt soweit ganz gut. Aber....
Das Skript liegt im Autostart des standardmäßig angemeldeten Users A. Wenn dieser nun angemeldet ist und sich zudem ein weiterer User B anmeldet, wird der User B mitten in seiner Arbeit vom Energiesparmodus überrascht, da die Funktion _Timer_GetIdleTime leider nur die Leerlaufzeit des Users ermittelt, der das Skript ausführt. Es müsste aber die Leerlaufzeit (also keine Maus- und Tastatureingaben) des gesamten Systems prüfen - unabhängig vom User.
Hat jemand eine Idee, wie man das machen könnte bzw. gibt es eine ähnliche Funktion, die das kann?
Ich habe schon versucht, das Skript in den Taskplaner zu packen um es userunabhängig beim Systemstart laufen zu lassen, aber da braucht es ja auch die Eingabe von Anmeldeinformationen eines (zur Ausführung berechtigten) Users...
Besten Dank und süße Grüße,
Schokolade