Ja_Nosch 3 Geschrieben 13. Mai 2019 Melden Teilen Geschrieben 13. Mai 2019 Hallo Community, gibt es zwischenzeitlich eine zuverlässige Lösung, bei Windows Server 2016 oder 2019 den automatischen Neustart nach Updates zwingend zu verhindern, außer über diesen Workaround: https://www.mioso.com/automatischer-neustart-nach-updates-deaktivieren-windows-server-2016/? Danke. Zitieren Link zu diesem Kommentar
Sunny61 809 Geschrieben 13. Mai 2019 Melden Teilen Geschrieben 13. Mai 2019 Was genau sind deine Anforderungen? Wenn Updates installiert werden, sollte die Maschine auch zeitnah neu gestartet werden. Heute Updates installieren und in ein paar Tagen Neustart durchführen ist kontraproduktiv. Zitieren Link zu diesem Kommentar
Ja_Nosch 3 Geschrieben 13. Mai 2019 Autor Melden Teilen Geschrieben 13. Mai 2019 (bearbeitet) Ein plötzlich neu startender Server, der dann an der Bitlocker-Kennworteingabe hängt, ist auch kontraproduktiv ... Gibt es eine GPO-Einstellung, die dafür sorgt, dass der Server unter keinen Umständen neu startet? Oder bleibt nur der o.g. Workaround? Danke! Edit: Unter Server 2019 klappt dieser Trick nicht mehr (siehe https://serverfault.com/questions/952657/server-2019-updateorchestrator-reboot-missing). Welche Möglichkeit habe ich, einen automatischen Neustart unter allen Umständen zu unterbinden? Danke! bearbeitet 13. Mai 2019 von Ja_Nosch Zitieren Link zu diesem Kommentar
Sunny61 809 Geschrieben 13. Mai 2019 Melden Teilen Geschrieben 13. Mai 2019 Updates manuell installieren oder mit SCCM oder einer anderen Software. Oder die Installation zu dem Zeitpunkt ausführen, zu dem auch ein Reboot ausgeführt werden kann. Ja, das geht. Entweder mit SCCM oder einer anderen Software die das kann. Oder mit einem billigen VBS-Script, das man noch etwas anpassen muss. https://docs.microsoft.com/en-us/windows/desktop/wua_sdk/searching--downloading--and-installing-updates Das in o.g. Link enthaltene VB-Script kann man automatisiert aufrufen und per Antwortdatei automatisch steuern. An den richtigen Stellen auskommentieren, schon wird nicht mehr gefragt. '------------------------------------------- ' Copyright (c) Microsoft Corporation. All rights reserved. ' ' Version 2.0 ' WUA_SearchDownloadInstall.vbs - Script will query the Windows Update ' servers, display the applicable updates, download and install updates. ' '------------------------------------------- on error resume next const L_Msg01_Text = "Empfohlene Updates werden gesucht..." const L_Msg02_Text = "Liste geeigneter Elemente auf dem Computer:" const L_Msg03_Text = "Keine geeigneten Updates vorhanden." const L_Msg04_Text = "Drücken Sie zum Fortfahren die EINGABETASTE..." const L_Msg05_Text = "Wählen Sie eine Option aus:" const L_Msg06_Text = "Updates werden heruntergeladen..." const L_Msg07_Text = "Updates werden installiert..." const L_Msg08_Text = "Liste mit installierten Updates und individuellen Installationsergebnissen:" const L_Msg09_Text = "Installationsergebnis: " const L_Msg10_Text = "Neustart erforderlich: " const L_Msg11_Text = "Zum Abschließen von Windows Updates ist ein Neustart erforderlich. Jetzt neu starten?" const L_Msg12_Text = "Drücken Sie zum Fortfahren die EINGABETASTE..." const L_Msg13_Text = "Nicht gestartet" const L_Msg14_Text = "In Bearbeitung" const L_Msg15_Text = "Erfolgreich" const L_Msg16_Text = "Erfolgreich mit Fehlern" const L_Msg17_Text = "Fehler" const L_Msg18_Text = "Vorgang vorzeitig beendet" const L_Msg19_Text = "Neustart erforderlich" const L_Msg20_Text = "N" 'No const L_Msg21_Text = "J" 'Yes const L_Msg22_Text = "Alle geeigneten Updates werden gesucht..." const L_Msg23_Text = "Nach (a)llen oder nur nach (e)mpfohlenen Updates suchen? " const L_Msg24_Text = "A" ' All const L_Msg25_Text = "E" ' Recommended only const L_Msg26_Text = "B" ' Single update only const L_Msg27_Text = "Geben Sie die Nummer des Updates ein, das heruntergeladen und installiert werden soll:" const L_Msg28_Text = "(A)lle Updates, kei(n)e Updates oder (b)estimmtes Update? " Set updateSession = CreateObject("Microsoft.Update.Session") Set updateSearcher = updateSession.CreateupdateSearcher() Set oShell = WScript.CreateObject ("WScript.shell") Do wscript.StdOut.Write L_Msg23_Text UpdatesToSearch = ucase(Wscript.StdIn.ReadLine) WScript.Echo Select Case UpdatesToSearch Case L_Msg24_Text 'All WScript.Echo L_Msg22_Text & vbCRLF Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software'") Case L_Msg25_Text ' Recommended WScript.Echo L_Msg01_Text & vbCRLF Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software' and AutoSelectOnWebsites=1") Case Else ' end Select Loop until UpdatesToSearch=L_Msg24_Text or UpdatesToSearch=L_Msg25_Text WScript.Echo L_Msg02_Text WScript.Echo For I = 0 To searchResult.Updates.Count-1 Set update = searchResult.Updates.Item(I) WScript.Echo I + 1 & "> " & update.Title Next SingleUpdateSelected="" If searchResult.Updates.Count = 0 Then WScript.Echo WScript.Echo L_Msg03_Text WScript.Echo wscript.StdOut.Write L_Msg04_Text Wscript.StdIn.ReadLine WScript.Quit else 'Select updates to download do WScript.Echo vbCRLF & L_Msg05_Text Wscript.StdOut.Write L_Msg28_Text UpdateSelection = ucase(WScript.StdIn.Readline) WScript.Echo loop until UpdateSelection=ucase(L_Msg20_Text) or UpdateSelection=ucase(L_Msg24_Text) or UpdateSelection=ucase(L_Msg26_Text) If UpdateSelection=ucase(L_Msg20_Text) Then 'No updates WScript.Quit end if If UpdateSelection=ucase(L_Msg26_Text) Then 'Single update Do WScript.Echo vbCRLF & L_Msg27_Text SingleUpdateSelected = WScript.StdIn.Readline loop until cint(SingleUpdateSelected) > 0 and cint(SingleUpdateSelected) <= searchResult.Updates.Count end if End If Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl") For I = 0 to searchResult.Updates.Count-1 if SingleUpdateSelected="" then Set update = searchResult.Updates.Item(I) updatesToDownload.Add(update) else if I=cint(SingleUpdateSelected)-1 then Set update = searchResult.Updates.Item(I) updatesToDownload.Add(update) end if end if Next WScript.Echo vbCRLF & L_Msg06_Text WScript.Echo Set downloader = updateSession.CreateUpdateDownloader() downloader.Updates = updatesToDownload downloader.Download() Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl") 'Creating collection of downloaded updates to install For I = 0 To searchResult.Updates.Count-1 set update = searchResult.Updates.Item(I) If update.IsDownloaded = true Then updatesToInstall.Add(update) End If Next WScript.Echo WScript.Echo L_Msg07_Text & vbCRLF Set installer = updateSession.CreateUpdateInstaller() installer.Updates = updatesToInstall Set installationResult = installer.Install() WScript.Echo L_Msg08_Text & vbCRLF For I = 0 to updatesToInstall.Count - 1 WScript.Echo I + 1 & "> " & _ updatesToInstall.Item(i).Title & _ ": " & ResultCodeText(installationResult.GetUpdateResult(i).ResultCode) Next 'Output results of install WScript.Echo WScript.Echo L_Msg09_Text & ResultCodeText(installationResult.ResultCode) WScript.Echo L_Msg10_Text & installationResult.RebootRequired & vbCRLF '************************** 'Testweise auskommentiert! 'If installationResult.RebootRequired then 'confirm = msgbox(L_Msg11_Text, vbYesNo+vbDefaultButton2+vbSystemModal,L_Msg19_Text) 'if confirm=vbYes then oShell.Run "shutdown /r /t 0",1 oShell.Run "shutdown /r /t 600" 'end if 'Testweise auskommentiert! '************************** WScript.Echo Wscript.StdOut.Write L_Msg12_Text Wscript.StdIn.ReadLine WScript.Quit Function ResultCodeText(resultcode) if resultcode=0 then ResultCodeText=L_Msg13_Text if resultcode=1 then ResultCodeText=L_Msg14_Text if resultcode=2 then ResultCodeText=L_Msg15_Text if resultcode=3 then ResultCodeText=L_Msg16_Text if resultcode=4 then ResultCodeText=L_Msg17_Text if resultcode=5 then ResultCodeText=L_Msg18_Text end Function Die Datei ist in W2016 ebenfalls noch enthalten. Beispiel für den Aufruf: c:\windows\system32\cscript.exe /nologo C:\_Install\WU\WUA_SearchDownloadInstall.vbs<c:\_Install\WU\input.txt Die Input.txt liegt im gleichen Verzeichnis und enthält nur die die beiden A. Man kann auch noch das oShell.Run "shutdown /r /t 600" auskommentieren, dann startet die Maschine nicht neu, sondern erst wenn man es manuell macht oder per Taskplaner. Vermutlich wird automatisch nach 2 Tagen gestartet, wird ja so von MSFT im GPO angetriggert. Eine Alternative könnte auch das hier sein: https://www.heise.de/forum/heise-Security/News-Kommentare/Patchday-Microsoft-stopft-13-Luecken-Adobe-laesst-es-ruhig-angehen/WSUS-laesst-man-sinnvollerweise-HowTo/posting-28482033/show/ MSFT sagt zu recht, nach der Installation der Updates soll ein Client/Server neu gestartet werden. Das Gerät hängt ansonsten in der Luft. Input.txt 1 Zitieren Link zu diesem Kommentar
testperson 1.728 Geschrieben 13. Mai 2019 Melden Teilen Geschrieben 13. Mai 2019 vor 6 Stunden schrieb Ja_Nosch: Ein plötzlich neu startender Server, der dann an der Bitlocker-Kennworteingabe hängt, ist auch kontraproduktiv ... Wer oder was ist denn der Server, was tut er und wo tut er das? Warum wird denn Bitlocker benötigt? Ansonsten: "Einfach" einen weiterer Server dazu und auf anwendungsebene eine Verfügbarkeit realisieren. Zitieren Link zu diesem Kommentar
Ja_Nosch 3 Geschrieben 13. Mai 2019 Autor Melden Teilen Geschrieben 13. Mai 2019 Vielen Dank für die Mühe, @Sunny61! MS hat wohl die Methode mit Reboot --> Reboot.bak + Reboot-Ordner erstellen gestopft. Traurig, dass man seinen Server austricksen muss, damit er durchläuft. @Testperson, ich wüsste nicht, was diese Fragen hier zur Sache tun?! Meine Frage- bzw. Problemstellung war doch klar: ich will nicht, dass der Server ohne mein Zutun / ohne meine Aufsicht neu startet. Welche Rolle spielt es da, ob der Server in nem Krankenhaus die Gebäudeleittechnik steuert oder zu Hause fürs Videostreaming zuständig ist? "Einfach" einen weiteren dazutun - was sollte das bringen? Der hat dann ja wieder diese Eigenheit und wer sagt mir, dass nicht beide zur selben Zeit Updates installieren wollen?! Auch die Frage, weshalb Bitlocker benötigt wird, erschließt sich mir nicht. Zitieren Link zu diesem Kommentar
zahni 558 Geschrieben 13. Mai 2019 Melden Teilen Geschrieben 13. Mai 2019 Ich habe noch eine Lösung: Updates manuell installieren, wenn man eh beim Neustart "bei" sein muss. 1 Zitieren Link zu diesem Kommentar
testperson 1.728 Geschrieben 13. Mai 2019 Melden Teilen Geschrieben 13. Mai 2019 vor einer Stunde schrieb Ja_Nosch: "Einfach" einen weiteren dazutun - was sollte das bringen? Was hast du denn an "auf Anwendungsebene eine Verfügbarkeit realisieren" nicht verstanden? vor einer Stunde schrieb Ja_Nosch: Der hat dann ja wieder diese Eigenheit und wer sagt mir, dass nicht beide zur selben Zeit Updates installieren wollen?! Gruppenrichtlinien und/oder ein wenig Scripting. Mit Gruß und Kuss, der Oktopus. Adieu! Zitieren Link zu diesem Kommentar
Dukel 457 Geschrieben 13. Mai 2019 Melden Teilen Geschrieben 13. Mai 2019 Wieso updated und startet dein Server einfach neu? Wenn ich Server patche dann installiere ich Updates und starte neu (z.B. mit PSWindowsUpdate Powershell Modul oder 3rd Party Tools) und außerhalb der Wartungsfenster startet bei mir kein Server neu. Zitieren Link zu diesem Kommentar
Ja_Nosch 3 Geschrieben 14. Mai 2019 Autor Melden Teilen Geschrieben 14. Mai 2019 vor 8 Stunden schrieb Dukel: Wieso updated und startet dein Server einfach neu? Wenn ich Server patche dann installiere ich Updates und starte neu (z.B. mit PSWindowsUpdate Powershell Modul oder 3rd Party Tools) und außerhalb der Wartungsfenster startet bei mir kein Server neu. Ich hatte versehentlich nach Updates gesucht, weiß aber nicht mehr, ob ich auf installieren bin - jedenfalls startete das Ding dann irgendwann einfach neu. War ein Testserver mit ner 2019er-Demo, also alles kein Problem - ich erinnere mich aber noch an unschöne Erlebnisse von früher, weswegen ich auch den o.g. Artikel verlinkt hatte (den Autor hat ja offenbar auch was dazu bewogen, da ne Lösung zu finden :-). Ja, Updates haben zeitnah installiert zu werden, ja danach ist neu zu starten, alles richtig, aber für mich hat ein Server unter keinen Umständen selbst ne Entscheidung zu treffen. Wie stupide dieses System von Windows 10 übernommen wurde, sieht man, wenn man sich das "Konzept" der Nutzungszeiten ansieht, die es so bei einem Server einfach nicht gibt. Zitieren Link zu diesem Kommentar
RobDust 11 Geschrieben 14. Mai 2019 Melden Teilen Geschrieben 14. Mai 2019 @zahni ja selbe Anforderungen habe ich auch. Haben div. Programme welche nicht als Dienst laufen sondern tatsächlich über einen Button innerhalb der Software gestartet werden müssen. Sehr b***d weil man hier nach einem Neustart wirklich bei sein muss. Glücklicherweise passiert das alles fix auf nem 2019 mit SSDs. Aber wo kann ich einstellen, das die Updates Manuel installiert werden? Hab gestern mal die Maske für Updates gestartet und dann ging das Update sofort los... ich konnte nicht mal den Downlad Abbrechen. Danach wollte er neu starten. Zitieren Link zu diesem Kommentar
Sunny61 809 Geschrieben 14. Mai 2019 Melden Teilen Geschrieben 14. Mai 2019 vor 19 Minuten schrieb RobDust: Glücklicherweise passiert das alles fix auf nem 2019 mit SSDs. Aber wo kann ich einstellen, das die Updates Manuel installiert werden? Hab gestern mal die Maske für Updates gestartet und dann ging das Update sofort los... ich konnte nicht mal den Downlad Abbrechen. Danach wollte er neu starten. Neues eigenes Thema, bitte neuen eigenen Thread erstellen und Anforderungen definieren, Danke. Zitieren Link zu diesem Kommentar
zahni 558 Geschrieben 14. Mai 2019 Melden Teilen Geschrieben 14. Mai 2019 vor 27 Minuten schrieb RobDust: Glücklicherweise passiert das alles fix auf nem 2019 mit SSDs. Aber wo kann ich einstellen, das die Updates Manuel installiert werden? Hab gestern mal die Maske für Updates gestartet und dann ging das Update sofort los... ich konnte nicht mal den Downlad Abbrechen. Danach wollte er neu starten. Wenn Du den Button drückst, wird auch installiert. Den Unterschied zu 2012R2 und älter, wirst Du nicht los. Also nur suchen, wenn Du auch installieren willst. Zitieren Link zu diesem Kommentar
Sunny61 809 Geschrieben 14. Mai 2019 Melden Teilen Geschrieben 14. Mai 2019 Oder eben die Updates manuell downloaden und manuell installieren. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.