Filou Geschrieben 16. November 2005 Geschrieben 16. November 2005 Hi, hatte gerade einen Einfall.. Ich möchte ein Programm starten beim runterfahren des PCs. Also nachdem der Benutzer (Benutzerdefinierte Eintellungen werden gespeichert...) abgemeldet ist. Dann soll das runterfahren angehalten werden, mein Programm gestartet und dannach soll der PC aus gehen. Geht das überhaupt? Grüße, Filou Zitieren
bigpoint Geschrieben 17. November 2005 Geschrieben 17. November 2005 Dann soll das runterfahren angehalten werden, mein Programm gestartet und dannach soll der PC aus gehen. Wo zu brauchst du denn so was überhaupt ? Geht das überhaupt? Du weist nichts ist unmöglich Zitieren
Filou Geschrieben 17. November 2005 Autor Geschrieben 17. November 2005 Wo zu brauchst du denn so was überhaupt ? Es soll vorm Ausschalten noch Dateien aus einem Veranstaltungsprogramm an den Server schicken. Und das mögliochst dann, wenn keiner mehr was am PC machen kann. Und da das ganze über DSL einige Zeit dauert, macht das nix wenn es kopier wenn der Benutzer sowieso heim geht und der PC sich abschaltet wenn er fertig ist. Zitieren
Klotzkopp Geschrieben 17. November 2005 Geschrieben 17. November 2005 Und da das ganze über DSL einige Zeit dauert, Was heißt denn "einige Zeit"? Zitieren
IceDuck Geschrieben 17. November 2005 Geschrieben 17. November 2005 wenn du noch in deiner ausbildung bis, dann schau mal dass du das irgendwie hin bekommst mit dem programmstart nach dem abmelden. dann kannst du dass bestimmt n abschlussprojekt damit machen!?!?! Zitieren
Amstelchen Geschrieben 17. November 2005 Geschrieben 17. November 2005 Also nachdem der Benutzer (Benutzerdefinierte Eintellungen werden gespeichert...) abgemeldet ist. dann ist das nur als lokaler windows-systemdienst oder logon/logoff-script möglich. Dann soll das runterfahren angehalten werden, mein Programm gestartet und dannach soll der PC aus gehen. dann ist aber anzumerkenderweise keine user-interaktion mehr möglich. bei allenfalls vorkommenden fehlen kannst du nur in ein logfile schreiben, aber keine dialoge aufpoppen lassen. machbar ist aber so ziemlich alles, fragt sich nur, wie sinnhaft es ist s'Amstel Zitieren
Filou Geschrieben 17. November 2005 Autor Geschrieben 17. November 2005 dann ist das nur als lokaler windows-systemdienst oder logon/logoff-script möglich. dann ist aber anzumerkenderweise keine user-interaktion mehr möglich. bei allenfalls vorkommenden fehlen kannst du nur in ein logfile schreiben, aber keine dialoge aufpoppen lassen. machbar ist aber so ziemlich alles, fragt sich nur, wie sinnhaft es ist s'Amstel Also genau das ist es was ich will. Es soll auch keine Benachrichtigungen kommen. Es soll halt ca 200 MB übers VPN kopieren. Wird wohl ne Stunde dauern. Und wenn ein Fehler auftritt, dann kann es ja beim Nächsten Start des PCs benachrichtigen. Es wartet ja auch keiner 1 Stunde bis das feritg is. Es soll kopiern und sich dann ausschalten. Auf dem Bildschirm braucht nur zu stehen, "Bitte warten, Dateien werden kopiert... Der PC schaltet sich nach abschluss von selbst aus." Wie mache ich das denn als Systemdienst und dass der dann auch gestartet wird? PS: Ich bin nicht mehr in der Ausbildung aber mein Abschlussprojekt war auch net schlecht Zitieren
Amstelchen Geschrieben 17. November 2005 Geschrieben 17. November 2005 ist der rechner in einer domäne? wenn ja, dann schreib ein vbs und weise es als logoff-script dem rechner zu - systemdienst ist da wohl zu umfangreich bzw. überdimensioniert und scheinbar auch nicht nötig. Dim objMyDocs Set objMyDocs = CreateObject("Scripting.FileSystemObject") If (objMyDocs.FolderExists("C:\Documents and Settings\blafoo\My Documents")) Then objMyDocs.CopyFolder "C:\Documents and Settings\blafoo\My Documents", "\\Server1\Users\%username%" Else WScript.Echo("Folder does not exist") End if s'Amstel Zitieren
Filou Geschrieben 17. November 2005 Autor Geschrieben 17. November 2005 ist der rechner in einer domäne? wenn ja, dann schreib ein vbs und weise es als logoff-script dem rechner zu - systemdienst ist da wohl zu umfangreich bzw. überdimensioniert und scheinbar auch nicht nötig. Dim objMyDocs Set objMyDocs = CreateObject("Scripting.FileSystemObject") If (objMyDocs.FolderExists("C:\Documents and Settings\blafoo\My Documents")) Then objMyDocs.CopyFolder "C:\Documents and Settings\blafoo\My Documents", "\\Server1\Users\%username%" Else WScript.Echo("Folder does not exist") End if s'Amstel Nein, die PCs auf denen es laufen soll, sind in den Ausenstellen im ganz Rheinland-Pfalz verteilt. Da haben wir keine Domänencontroller. Die Workstations sollen dann diese Daten zur Zentralen Verwaltung nach Speyer kopieren. Und ich kann kein Basic. Nur C++. ABER: Eine Andere Lösung wäre, dass der PC nicht mehr über "Start" -> "Ausschalten" herrunter gefahren wird, sonden dass mein Programm gestartet wird. Es müsste dann den Prozess "Explorer.exe" beenden damit keiner mehr was machen kann am pc. Dann die Daten sichern und dann einfach "shutdown -s" ausführen. Das währe aber die unschönere Lösung... Zitieren
Filou Geschrieben 17. November 2005 Autor Geschrieben 17. November 2005 PS: Natürlich komprimiere ich Die dateien vorher mit winrar bevor ich sie übers Netz schicke. Zitieren
Bubble Geschrieben 18. November 2005 Geschrieben 18. November 2005 Es wartet ja auch keiner 1 Stunde bis das feritg is. Es soll kopiern und sich dann ausschalten. 1h wird ein (vernünftig konfiguriertes) OS beim Herunterfahren nicht auf ein Programm warten, sondern es zwangsweise beenden. Du solltest Dein Problem anders lösen. Zitieren
Goos Geschrieben 21. November 2005 Geschrieben 21. November 2005 1h wird ein (vernünftig konfiguriertes) OS beim Herunterfahren nicht auf ein Programm warten, sondern es zwangsweise beenden. Du solltest Dein Problem anders lösen. Wie kommst darauf und was bitte ist in deinen Augen "vernuenftig konfiguriert"? Es waer schoen, wenn du dich da etwas genauer ausdruecken wuerdest. Goos Zitieren
Klotzkopp Geschrieben 21. November 2005 Geschrieben 21. November 2005 In der Standardeinstellung wartet Windows XP 20 Sekunden auf Dienste, die sich nicht beenden: HKLM\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout Den Wert kann man natürlich ändern. Zitieren
Filou Geschrieben 21. November 2005 Autor Geschrieben 21. November 2005 Die Automatische Updatefunktion von Windows XP macht das doch auch. Da werden die Updates downgeloadtet und beim runterfahren des PCs installiert... Zitieren
Amstelchen Geschrieben 21. November 2005 Geschrieben 21. November 2005 Die Automatische Updatefunktion von Windows XP macht das doch auch. Da werden die Updates downgeloadtet und beim runterfahren des PCs installiert... wäre mir neu. ich dachte eigentlich immer, es wäre genau umgekehrt. dass zuerst die updates installiert werden und optional dann das system heruntergefahren wird. s'Amstel Zitieren
Filou Geschrieben 21. November 2005 Autor Geschrieben 21. November 2005 wäre mir neu. ich dachte eigentlich immer, es wäre genau umgekehrt. dass zuerst die updates installiert werden und optional dann das system heruntergefahren wird. s'Amstel Nein, du kannst einstellen, dass sie nur runtergelanden werden und manuell installiert. entweder du installierst sie dann gleich oder du fährst den pc irgendwann runter, dann werden sie installiert bevor der pc ausgeht. Zitieren
Klotzkopp Geschrieben 21. November 2005 Geschrieben 21. November 2005 Nein, du kannst einstellen, dass sie nur runtergelanden werden und manuell installiert. entweder du installierst sie dann gleich oder du fährst den pc irgendwann runter, dann werden sie installiert bevor der pc ausgeht. Diese Option ist nur in Microsoft Windows XP Service Pack 2 (SP2) und auch nur dann verfügbar, wenn wichtiges Update zwar gedownloadet, jedoch noch nicht installiert wurden. Runtergeladen müssen sie also schon sein. Ich denke aber, dass auch das passiert, bevor der Benutzer abgemeldet wird. Zitieren
Bubble Geschrieben 21. November 2005 Geschrieben 21. November 2005 Wie kommst darauf und was bitte ist in deinen Augen "vernuenftig konfiguriert"? Es waer schoen, wenn du dich da etwas genauer ausdruecken wuerdest. Siehe Antwort von Klotzkopp. Ein OS sollte nicht reagierende Programme beim Herunterfahren notfalls zwangsweise beenden. Zitieren
Goos Geschrieben 21. November 2005 Geschrieben 21. November 2005 Siehe Antwort von Klotzkopp. Ein OS sollte nicht reagierende Programme beim Herunterfahren notfalls zwangsweise beenden. Das hat aber in dem Fall nix mit "vernuenftig konfiguriert" ...sind schliesslich die Standardeinstellungen. Der Schluessel fuer normale Anwendungen ist dann uebrigens HKCU\Control Panel\Desktop\WaitToKillAppTimeout obwohl ich dazu sagen muss, dass man auch diese Funktionalitaet mit seiner Anwendung aufhalten kann. (So zumindest meine Erfahrung ) ...soviel dann also zum notfalls zwangsweise beenden. Goos Zitieren
Bubble Geschrieben 21. November 2005 Geschrieben 21. November 2005 Das hat aber in dem Fall nix mit "vernuenftig konfiguriert" ...sind schliesslich die Standardeinstellungen. Oh doch hat das mit vernünftigen Einstellungen zu tun, denn es ist nicht ohne Grund der Default. (Du kannst übrigens davon ausgehen, dass die Defaults zumeist vernünftig gewählt sind.) Natürlich kannst Du Dein System auch gerne in meinen Augen unvernünftig einstellen (bzw. sonstwas unternehmen, damit es ein Programm nicht beendet), und den Programmen so 2h zum Beenden einräumen... Zitieren
Goos Geschrieben 21. November 2005 Geschrieben 21. November 2005 Ok, wenn du die Vorkonfiguration meinst, dann haben wir wohl aneinander vorbeigeredet ...dummerweise bringt diese Voreinstellung aber nicht zwingend den gewuenschten Effekt. (...obwohl ich natuerlich auch der Meinung bin, dass man keine Software schreiben sollte, die ein System am ordnungsgemaessen Herunterfahren hindert) Goos Zitieren
Bubble Geschrieben 21. November 2005 Geschrieben 21. November 2005 (...obwohl ich natuerlich auch der Meinung bin, dass man keine Software schreiben sollte, die ein System am ordnungsgemaessen Herunterfahren hindert) Dann sind wir ja einer Meinung. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.