Win7 64Bit Logoff/Shutdown abfangen und Sicherung ausführen
-
Nach langer Zeit mal wieder ein freudiges Hallo:
Hallo!
Ich habe folgendes Problem (Vorsicht Vorgeschichte!):
Ich habe auf Windows 7 (64 Bit) umgestellt und bei der Einrichtung dann den Nachteil der Home-Edition festgestellt. Ich kann jetzt nämlich nicht mehr meine Areca-Sicherung per Group Policy beim Herunterfahren des PC automatisch laufen lassen.
Deshalb habe ich mir mal andere Programme angesehen, aber keines gefunden, was mir wirklich gefiel. Einige haben selbst Wechselpläne und die Kontrolle des freien Speicherplatzes übernommen (was mir bisher fehlte), dafür aber nur simple Kopien mit unzureichender 'Versionierung' (mehr als Anhängen von .bak-Timestamp an den Dateinamen) vorgenommen. Die neue Sicherungsmechanik gefällt mir auch nicht so (weil sie nicht vor dem Herunterfahren läuft).Da bei mir bereits eine Platte mal nicht mehr angelaufen ist und ich deshalb zwingend beim Logoff/Herunterfahren sichern will, dachte ich mir, dass ich es wie diese anderen Programme mache und mir ein kleines Tool schreibe, dass auf das Event warten, den Areca-Batch startet und danach die Windows-Aktion (Logoff/Shutdown) weiterlaufen lässt.
Leider komme ich da nicht wirklich weiter, weil mir der gesamte Ansatz unklar ist.
Vielleicht kann mir jemand auf die Sprünge helfen. Ein fertiges Tool (das ich nicht gefunden habe) oder .NET hilft mir auch. Eine Lösung über einen Windows-Dienst ebenso.Mir fehlt jetzt aber gänzlich der Ansatz.
Danke für Eure Zeit (auch schon für's Lesen).
-
Nur mal Fix das MSDN durchwühlt, vielleicht ist bei WM_QUERYENDSESSION, WM_ENDSESSION und den Shutdown Changes for Windows Vista was für dich dabei.
-
Du könntest dir mit dem Studio ein Windows-Service zusammenklicken. Geht mit C++ oder mit .NET, und der Wizard macht im Prinzip alles was nötig ist.
Bei C++ ist die einfachste Variante die ich kenne ein COM Projekt zu machen, und dort als Typ Service auszuwählen.
Bei C# gibt es IIRC ein eigenes Service-Template.
Da Services vor dem Shutdown normalerweise beendet werden, müsstest du in der "Service Beenden" Funktion dein Backup machen können.
Hat den Vorteil dass kein User eingeloggt sein muss, und auch nicht bei jedem Logoff gesichert wird.
Und vermutlich wirst du einege Timeouts hochdrehen müssen, damit Windows dich nicht dauernd fragt, ob es das Service abschiessen soll, weil das zu lange zum Beenden braucht.
Und guck mal ob es nicht vielleicht ganz einfach mit dem Task-Scheduler geht.
-
Anmerkungzu Services:
Services müssen aber binnen einer gewissen Zeit (Einstellung in der Registry) nach dem Shutdown Befehl beendet sein. Imho sind es 200 Sekunden. Ansonsten werden diese Services einfach abgeschaltet.
-
Ansonsten werden diese Services einfach abgeschaltet.
Kommt da nichtmal das "XYZ hängt - jetzt beenden ja/nein?" Fenster? Das wäre natürlich unvorteilhaft.
-
Danke Euch allen. Ich hatte auch gelesen, dass ein Service wohl so seine Probleme mitbringt.
Ich kann wg. Krankheit da jetzt auch nicht viel probieren. Aber vielleicht hilft mir ja der Autor eines der Programme dabei, bei denen das geht. Ist wohl mit Delphi gemacht.
Ich sehe mir das an, wenn ich wieder auf dem Damm bin. Weitere Vorschläge sind willkommen.Danke schon mal.
-
hustbaer schrieb:
Ansonsten werden diese Services einfach abgeschaltet.
Kommt da nichtmal das "XYZ hängt - jetzt beenden ja/nein?" Fenster? Das wäre natürlich unvorteilhaft.
Nein! Natürlich nicht. Ein Service hat keine UI.
Ein Service muss sich im Rahmen eines Shutdowns genau an diese Shutdownzeiten halten.
-
Martin Richter schrieb:
hustbaer schrieb:
Ansonsten werden diese Services einfach abgeschaltet.
Kommt da nichtmal das "XYZ hängt - jetzt beenden ja/nein?" Fenster? Das wäre natürlich unvorteilhaft.
Nein! Natürlich nicht. Ein Service hat keine UI.
Ein Service muss sich im Rahmen eines Shutdowns genau an diese Shutdownzeiten halten.Natürlich hat ein Service kein UI

Das Fenster macht ja auch nicht das Service/Programm, das macht das nette Windows. Die Shell oder welcher Teil auch immer, auf jeden Fall nicht das Programm selbst. Von daher hätte es leicht sein können, dass dieses Fenster auch eingeblendet wird, wenn ein Service zu lange braucht um sich zu beenden.
-
@SammyRukka:
siehe letzter beitrag.
du kannst über ne group-policy ein script definieren welches beim logoff und/oder shutdown ausgeführt wird.
unter "computer configuration - windows settings - scripts" kannst du ein shutdown script definieren, und unter "user configuration - windows settings - scripts" für logoff.
-
Genau so hab ich's immer unter XP gemacht. Das habe ich noch so deutlich geschrieben, aber das meinte ich mit
Ich habe auf Windows 7 (64 Bit) umgestellt und bei der Einrichtung dann den Nachteil der Home-Edition festgestellt. Ich kann jetzt nämlich nicht mehr meine Areca-Sicherung per Group Policy beim Herunterfahren des PC automatisch laufen lassen.
....die Home-Edition haben keine Group Policies!
Als übergang könnte ich jetzt Personal Backup benutzen, das fängt den Shutdown ab und kann vor und nach der Sicherung ein Programm ausführen.
Ich könnte also Personal Backup missbrauchen, um Areca auszuführen
. Das ist aber maximal eine Übergangslösung.
-
Dann nutz doch einfach das neue "Upgrade" Feature von Windows 7.
Home Versionen sind sowieso Kacke.
-
Hehe, da habe ich gestern aus Jux auch mal drauf geklickt. Aber 200 Euro nur dafür.... nein danke.