porfavor
Goto Top

Ruhezustand nach Inaktivität bzw. Leerlauf durch Task funktioniert nicht

Hallo,

ich habe ein Problem mit einem Task unter Windows Server 2008 R2.

Was ich möchte:
Der Server soll in der Nacht heruntergefahren werden bzw. in den Ruhezustand versetzt werden.
Natürlich kann ich das manuell bewerkstelligen, allerdings möchte ich es automatisiert tun.

Ich möchte das aber nicht nur zu einer bestimmten Zeit, sondern mit Bedingungen.
Wenn ich den Server um 0Uhr herunterfahren lasse, könnte er ja noch in Gebrauch sein.
Dann soll nicht heruntergefahren werden.
Daher soll geprüft werden, ob der Server für eine gewisse Zeit im Leerlauf ist (besser wäre natürlich, ob Clients verbunden sind).
Nun sollte das theoretisch mit einem Task gehen.

Ich habe ihn so eingerichtet:
-Aufgabe startet um 0Uhr, und dann z.B. alle 5 Minuten (nur wegen Test so kurz)
-es wird eine Batch-Datei ausgeführt, die den Ruhezustand bewerkstelligt
-Die Aufgabe soll nur starten, wenn der Computer seit 1 min im Leerlauf ist (nur wegen Test so kurz)

Nun geht die Aufgabe ohne diese Leerlauf-Einschränkung.
Allerdings kommt mit dieser immer die Meldung im Protokoll, dass die Aufgabe aufgrund der Einschränkungen nicht ausgeführt werden konnte.
Das kann ja eigentlich nur an der Leerlauf Sache liegen.
Aber der Leerlauf bestand für diese Zeit definitiv.

Warum wird dies nicht erkannt?
Was könnte ich versuchen?
Gäbe es die Möglichkeit, auf Client Verbindungen zu prüfen, vielleicht mit einem Programm?

Danke

Porfavor

Content-Key: 137621

Url: https://administrator.de/contentid/137621

Printed on: October 1, 2023 at 14:10 o'clock

Member: SamvanRatt
SamvanRatt Mar 08, 2010 at 00:51:27 (UTC)
Goto Top
Hi
hast du dem AT Job einen berechtigten User mitgegeben; unter 2008 bist du ja auch als Admin unprivilegiert und mußt du wegen der kleinsten Sachen zum "als Admin ausführen" wählen? Ein normaler "net session" zeigt dir aktive Verbindungen an.
Deinen Sinn verstehe ich nur nicht ganz: du willst auf ein evtl Ereignis warten (USer will was) fährst in dann aber runter, wovon er nicht mehr aufwacht wenn jemand jetzt danach kommt.... Moderne Server sind eigentlich recht stromsparend im Vergleich zu früher wenn sie idlen, abgesehen davon das die wenigsten Server es mögen so zu verweilen (S3 und mehr ist meist nur rudimentär implementiert). Unter 2008 sähe ich auch das Problem das du zig Dienste hast die ständig was tun (defrag, Inet verbindung prüfen, WSUS, RAM Optimierung, ....) und so dein Server wohl schwer "untätig" ist so wie er es sieht.
Gruß
Sam
Member: Porfavor
Porfavor Mar 08, 2010 at 20:23:48 (UTC)
Goto Top
Ich lasse es ohne Benutzeranmeldung ausführen. Ich kann die Aufgabe ja auch bei Bedarf ausführen. Das kann eigentlich nicht das Problem sein.
Du hast schon recht mit dem, was du sagst. Meiner ist auch stromsparend. Nichtsdestotrotz bin ich gezwungen, ihn nachts herunterzufahren. Daran lässt sich nichts ändern.
Aber das letzte mit den Diensten könnte tatsächlich ein Grund sein, warum es nicht geht.
Jetzt wäre die einzige Möglichkeit wohl noch, dass man auf Aktivität der Clients prüft. Wenn keine da ist, fährt er herunter. Nur habe ichm keine Ahnung, wie das realisierbar ist.

Meinst du grundsätzlich, dass es besser wäre, wenn ich den Server richtig herunterfahre und nicht in den Suspend Mode? Aufwecken kann ich ihn ja so oder so. Was ist sinnvoller? Der Server wird immer einmal nachts herunter- und am Mittag wieder hochgefahren.
Member: SamvanRatt
SamvanRatt Mar 09, 2010 at 08:32:18 (UTC)
Goto Top
Dann lass es doch mal als Admin ausführen (das hat ja nichts mit anloggen oder so zu tun), sonst wirst du (als unprivilegierter) die Maschine ja nicht runterfahren dürfen
Member: Porfavor
Porfavor Mar 11, 2010 at 20:01:58 (UTC)
Goto Top
Habe das jetzt noch nicht versucht, weil ich einen besseren Einfall habe:
Ich würde die Aktion gerne ausführen, wenn keine Netzwerkverbindung vorhanden ist für eine gewisse Zeit oder so.
D.h., der Server wird heruntergefahren, wenn der Router ausgeschaltet wird.
Nur weiß ich nicht, was für einen Trigger oder wie ich das bewerkstellige. (Das sind ja nicht die verständlichsten Namen in der Regel)
Ich kann zwar auswählen, einen Aktion nur bei einer bestimmten Netzwerkverbindung auszuführen, aber nicht bei keiner Netzverbindung.

Jemand eine Idee? Theoretisch müsste das gehen, oder?
Member: SamvanRatt
SamvanRatt Mar 11, 2010 at 20:09:18 (UTC)
Goto Top
Als E-Techniker würde ich die Link LED des NICs anzapfen und daraus ein Impuls Relais triggern was den PWR_ON überbrückt.
Member: Porfavor
Porfavor Mar 11, 2010 at 20:22:21 (UTC)
Goto Top
Ich bin aber keiner ;)

Ich habe übrigens die Ressource für ein Systemereignis gefunden. Allerdings weiß ich nicht, was ich bei Event-ID eintragen muss.
Irgendwie muss ich ja einstellen können, dass es um das Beenden des Dienstes geht.
Member: SamvanRatt
SamvanRatt Mar 11, 2010 at 20:27:36 (UTC)
Goto Top
Über SNMP kann ich mir vorstellen das ein Dienst den Shutdown auf deinem Server initiiert. NAgios kann sowas auslösen; lokal... hm habe ich noch nie gebraucht.
Such doch mal ob du via SNMP einen ACPI Event auslösen kannst (ACPI steuert ein/aus unter anderem)
Member: Porfavor
Porfavor Mar 11, 2010 at 20:47:00 (UTC)
Goto Top
Habe damit leider nicht die gerinste Erfahrung.
Aber ich schaue mir dieses Nagios mal an. Habe es mal heruntergeladen.

Danke für deine Hilfe!

Ich melde mich wieder.

Edit: Ok, so einfach ist das wohl doch nicht.
Member: Porfavor
Porfavor Mar 11, 2010 at 21:23:07 (UTC)
Goto Top
Also ich habe eine klasse Lösung gefunden.

http://www.in-mediakg.de/software/ishutdown/ishutdown.shtml

Computer erkennt Netzwerkauslastung. Unter einem bestimmten Schwellenwert wird der Shutdown erzwungen.
Funktioniert tadellos.