steammod
Cadet 4th Year
- Registriert
- Juni 2014
- Beiträge
- 70
Dieser Beitrag zeigt die Auswirkungen unterschiedlicher Methoden um den Windows-Neustart zu verzögern.
Begonnen am 12.06.20, akutallisiert wegen neuer Erfahrungen bis 02.07, dann abgeschlossen:
Beitrag:
Microsoft ändert immer mal wieder den Updateprozess bzw. die Möglichkeiten diesen zu verzögern. Auch Registryeinstellungen werden gelöscht/unwirksam. Zuletzt hier wieder, zwar nur für Unternehmens-PCs, ab Funktionsupdate 2004.
Die Infos von MS dazu auf: https://docs.microsoft.com/de-de/windows/deployment/update/waas-restart sind auch interessant.
Aufgabe:
Ich suche einen Weg, auf PCs die 24/7 aktiv sind, und nicht jeden Tag kontrolliert werden, Updates manuell zu starten, d.h. den Zeitpunkt selbst zu bestimmen. Auf den PCs arbeiten Prozesse im Hintergrund, es liegt eine Auslastung von 50-90% an, Benutzer ist angemeldet, Bildschirm ist gesperrt.
Folgende Einstellungen haben Einfluss auf den Neustart-Zeitpunkt:
1. Updateeinstellungen ändern:
z.B. in HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
bedeutet im Schlüssel "AUOptions" der
DWORD (2) = Vor Download und automatischer Installation benachrichtigen.
DWORD (3) = Autom. Herunterladen, aber vor Installation benachrichtigen.
Wenn dann der Hinweis erscheint:
Wichtig: Die Nutzungszeit wird ignoriert bzw. hat keine Auswirkung mehr.
; nach einer Eingabe/Mausbewegung die Mausbewegungen stoppen, Fenster schliessen und Bildschirm sperren.
#InstallMouseHook ; notwendig, da benuzterdefinierter Hotkey
CoordMode, Mouse, Screen ; fuer Mausbewegung, setzte Relation zum ganzen Desktop
~^ & 1:: ; definiere Hotkey: hier ^1 (gleichzeit drücken), mit ~ wird ^ auch für normale Eingaben freigeschaltet
MsgBox, 0, ,Starte Mouseloop in 5 sec., 5
; Erstelle dunkles, ramenloses Fenster, da durch Mausbewegungen der Bildschirmtimeout zum Dunkelschalten nicht aktiviert wird.
GUI, Color, "000000" +Border
GUI +AlwaysOnTop
GUI -Caption
GUI, Show
GUI, Maximize
Send, x ; damit ein Zeichen ^x gesendet wird, da durch die Hotkeyaktivierung noch das ^ im Input ist und mit einem Zeichen ausgegeben wird.
Menu, Tray, NoIcon ; Entferne AHK-Icon aus der Taskleite, damit es nicht von dort deaktiviert werden kann.
; Definiere Mausmove-Schleife. Da der Sleep nicht unterbrochen werden kann, definiere mehrere kurze Phasen a 5 sec. Nach 30 sec folgt ein MouseMove.
Loop
{
Random, x, 500,1400
Random, y, 200,800
MouseMove, %x%, %y%, 5
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
} Until If (A_TimeIdlePhysical < 4500) break
Gui, Destroy
DllCall("LockWorkStation")
Menu, Tray, Icon
return ; gehe zu Zeile 5 und warte (Hotkey)
Mausbewegungen haben aber den Nachteil, dass der Bildschirm nicht dunkel und auch nicht gesperrt wird. Habe dazu hier ein rahmenloses Fenster erzeugt und am Ende des Scriptes wird der Bildschirm gesperrt. Wer sein BS ausschalten kann oder gleich sperren möchte, kann das Script entsprechend anpassen/testen.
Ich werde es noch weiterentwickeln, stehe mit meinen Erfahrungen noch am Anfang. Suche noch eine Möglichkeit, den Start auch über einen "Timer" auszulösen, wie z.B. "If (A_TimeIdlePhysical > 900000) ..."
und den Mauszeigen auszublenden (ist möglich). Vielleicht kann jemand das Script ergänzen.
Begonnen am 12.06.20, akutallisiert wegen neuer Erfahrungen bis 02.07, dann abgeschlossen:
13.06.20, 09:50 Uhr:- Ein PC hat, obwohl die Richtlinien gesetzt sind und Notepad geöffnet war, nun einen Qualitätsupdate außerhalb der Nutzungszeit gestartet, nach ca. 5 Tagen(?).
- Ein anderer PC, auf dem ein Funktionsupdate auf Version 2004 anstand, hat nach 4 Tagen um ca. 22 Uhr den Update gestartet. Nutzungszeit ging bis 20 Uhr. Auch hier war Notepad offen, Daten gingen verloren.
Am 15.06 habe ich einen Q-Update ausgeführt, mit Neustart. Notepad war offen, es wurde nicht nachgefragt. Aber nach dem Hochfahren wurde Notepad mit den alten Daten wiederhergestellt. Das hatte ich noch nicht gesehen. Bei dem F-Update konnten die Daten nicht wiederhergestellt werden.
An einem PC steht seit dem 18.06 der Funktionsupdate zur abschließenden Installation durch Neustart an. An einem zweiten PC steht seit dem 10.06 ein Qualitätsupdate an. Diese konnte ich durch Tools, die Mausbewegungen erzeugen, bisher verhindern.
27.06.20Heute kam am PC ein großes blaues Hinweisfenster, auf dem der Funktionsupgrade wieder angeboten wurde, mit drei Optionen. Mit "Später erinnern" konnte ich ihn nochmal zurückstellen. Wie lange noch?
28.-30.06.2024 Stunden später: Der Hinweis kommt erneut.
Am 29.06 zum dritten und letzten Mal. Danach, am 30.06, kam keine Aufforderung mehr. Auch wurde es nicht mehr angeboten! Es wurde somit von MS wieder entfernt/deaktiviert.
Alle Ergebnisse und Schlussfolgerungen siehe #7.
Beitrag:
Microsoft ändert immer mal wieder den Updateprozess bzw. die Möglichkeiten diesen zu verzögern. Auch Registryeinstellungen werden gelöscht/unwirksam. Zuletzt hier wieder, zwar nur für Unternehmens-PCs, ab Funktionsupdate 2004.
- Unter "Windows Update" kann, unter "Erweiterte Optionen", der Update hinausgezögert werden, jedoch nicht dauerhaft unterbunden werden:
Die Infos von MS dazu auf: https://docs.microsoft.com/de-de/windows/deployment/update/waas-restart sind auch interessant.
Aufgabe:
Ich suche einen Weg, auf PCs die 24/7 aktiv sind, und nicht jeden Tag kontrolliert werden, Updates manuell zu starten, d.h. den Zeitpunkt selbst zu bestimmen. Auf den PCs arbeiten Prozesse im Hintergrund, es liegt eine Auslastung von 50-90% an, Benutzer ist angemeldet, Bildschirm ist gesperrt.
Folgende Einstellungen haben Einfluss auf den Neustart-Zeitpunkt:
1. Updateeinstellungen ändern:
Es gibt weitere, als die hier beschriebenen, GPOs/Registryeinträge, die einen Update verhindern. Diese sind in dem Artikel auf der Deskmodder-Seite ausführlich beschrieben. Diese müssen dann teilweise, nach einem Update, wieder angepasst werden. Habe ich hier nicht untersucht.
Folgende Änderungen helfen nicht zu 100%, verzögern den Prozess aber um einige Tage. Ist auch abhängig, ob es ein normaler Qualitätsupdate oder Funktionsupdate ist:
Wer WIN 10 Pro hat, kann mit dem Gruppenrichtlinieneditor (gpedit.msc) nachfolgende vier Einstellungen anpassen. Ohne Pro-Version muss die Registry direkt geändert werden. Dazu, mit z.B. notepad.exe, folgende Zeilen in eine Datei, mit der Endung .reg, speichern und dann "Zusammenführen" (Einfachklick):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"SetAutoRestartRequiredNotificationDismissal"=dword:00000001
"AutoRestartRequiredNotificationDismissal"=dword:00000002
"SetAutoRestartNotificationConfig"=dword:00000001
"AutoRestartNotificationSchedule"=dword:0000001e
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
"NoAutoUpdate"=dword:00000000
"AUOptions"=dword:00000003
"ScheduledInstallDay"=dword:00000000
"ScheduledInstallTime"=dword:00000003
Hier die Werte für den Gruppenrichtlinieneditor: Im Abschnitt:
Computerkonfiguration – Administrative Vorlagen – Windows-Komponenten – Windows Update
sind folgende Richtlinien zu aktivieren:
- Erinnerungsbenachrichtigung über den automatischen Neustart…
Dieser kann, muss aber nicht aktiviert werden. Sicherheitshalber habe ich ihn aktiviert.
- Erforderliche Benachrichtigung für automatischen Neustart zur Updateinstallation..
Dort ist die Aktion „2-Benutzeraktion“ auszuwählen.
- Automatische Updates konfigurieren
Dort muss die Option 2 oder 3 gewählt werden (ich habe „3“ aktiviert)
- Keinen automatischen Neustart für geplante Installationen ...
Diese Richtlinie hat keine weitere Option, muss aktiviert werden.
z.B. in HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
bedeutet im Schlüssel "AUOptions" der
DWORD (2) = Vor Download und automatischer Installation benachrichtigen.
DWORD (3) = Autom. Herunterladen, aber vor Installation benachrichtigen.
Wenn dann der Hinweis erscheint:
kann Windows den Update erst starten, wenn auf „Jetzt neu starten“ geklickt wird bzw. der PC heruntergefahren wird.
! Nach einigen Tagen wird der Update dann doch außerhalb der Nutzungszeit ausgeführt.
Das Fenster kann mit „OK“ geschlossen werden.
2. Editor öffnen, Änderungen nicht speichern (unsicher).Dieser Tipp hat bei mir einmal funktionierte, dann wieder nicht. Der Weg ist, z.B. im Notepad-Programm Text zu schreiben und diese nicht zu speichern. Dann fragt Windows vor dem Herunterfahren, was es mit den nicht gespeicherten Daten machen soll. Damit wird ein automatischer Restart/Update verhindert, auch ohne Änderung der Registry. Bei mir kamen - in regelmäßigen Abständen (Stunden) - folgende Meldungen:
Dieses Verhalten konnte ich nur einmal beobachten, danach nicht mehr. Werde es weiter testen.
Ist natürlich keine elegante Lösung.
3. Dienst/Service „Update-Orchestra-Dienst“ deaktivieren (sicher)Das habe ich noch nicht getestet. Damit bekäme man keine Updates mehr bzw. auch keinen Hinweis, dass welche vorliegen. Kann ich nicht empfehlen, sollte nur temporär angewendet werden. Auf Dauer funktioniert das auch nicht, weil MS den Dienst nicht doch wieder über Umwege aktiviert, siehe hier (Hinweis von BFF).
4. Durch Mausbewegungen Anwesenheit vortäuschen (sicher)Diese Methode funktioniert, ohne den Dienst zu deaktivieren oder die GPOs anzupassen.
Verwende dazu:
A) das, im Windows-Store vorhandene, Tool "Move Mouse"
Ist einfach einzurichten, aber leider rechenintensiv, kann aber durch die Funktion: "Hide Mouse Move Windows" gemildert werden. Wenn es läuft, wird auch außerhalb der Nutzungszeit kein Neustart durchgeführt.
oder
B) AHK (AutoHotKey): Ist ein mächtiges Programm/Scriptsprache, die alle möglichen Anpassungen und
Automatisierungen erlaubt. Benötigt aber auch einige Stunden Einarbeitung. Dafür ist das Hilfeforum und Hilfe/Tutorial vorbildlich.
Mein , für meinen AIO-PC, funktionierendes Script ist hier nach dem Spoiler:
; Nach Hotkey ^1 auf dem Bildschirm ein dunkles Fenster öffnen, Allways on Top, AHK-Icon verstecken, und Mausbewegungen ausführen,; nach einer Eingabe/Mausbewegung die Mausbewegungen stoppen, Fenster schliessen und Bildschirm sperren.
#InstallMouseHook ; notwendig, da benuzterdefinierter Hotkey
CoordMode, Mouse, Screen ; fuer Mausbewegung, setzte Relation zum ganzen Desktop
~^ & 1:: ; definiere Hotkey: hier ^1 (gleichzeit drücken), mit ~ wird ^ auch für normale Eingaben freigeschaltet
MsgBox, 0, ,Starte Mouseloop in 5 sec., 5
; Erstelle dunkles, ramenloses Fenster, da durch Mausbewegungen der Bildschirmtimeout zum Dunkelschalten nicht aktiviert wird.
GUI, Color, "000000" +Border
GUI +AlwaysOnTop
GUI -Caption
GUI, Show
GUI, Maximize
Send, x ; damit ein Zeichen ^x gesendet wird, da durch die Hotkeyaktivierung noch das ^ im Input ist und mit einem Zeichen ausgegeben wird.
Menu, Tray, NoIcon ; Entferne AHK-Icon aus der Taskleite, damit es nicht von dort deaktiviert werden kann.
; Definiere Mausmove-Schleife. Da der Sleep nicht unterbrochen werden kann, definiere mehrere kurze Phasen a 5 sec. Nach 30 sec folgt ein MouseMove.
Loop
{
Random, x, 500,1400
Random, y, 200,800
MouseMove, %x%, %y%, 5
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
If (A_TimeIdlePhysical < 4500)
break
Sleep, 5000
} Until If (A_TimeIdlePhysical < 4500) break
Gui, Destroy
DllCall("LockWorkStation")
Menu, Tray, Icon
return ; gehe zu Zeile 5 und warte (Hotkey)
Mausbewegungen haben aber den Nachteil, dass der Bildschirm nicht dunkel und auch nicht gesperrt wird. Habe dazu hier ein rahmenloses Fenster erzeugt und am Ende des Scriptes wird der Bildschirm gesperrt. Wer sein BS ausschalten kann oder gleich sperren möchte, kann das Script entsprechend anpassen/testen.
Ich werde es noch weiterentwickeln, stehe mit meinen Erfahrungen noch am Anfang. Suche noch eine Möglichkeit, den Start auch über einen "Timer" auszulösen, wie z.B. "If (A_TimeIdlePhysical > 900000) ..."
und den Mauszeigen auszublenden (ist möglich). Vielleicht kann jemand das Script ergänzen.
Zuletzt bearbeitet: