User Tools

Site Tools


userspace:windows_updates_wsus_required

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

userspace:windows_updates_wsus_required [2012/04/10 09:02]
tobias created
userspace:windows_updates_wsus_required [2021/08/23 08:37]
Line 1: Line 1:
-Das Problem kennt denke ich jeder. Die Windows Installation ist abgeschlossen aber die Windows Updates lassen sich nicht automatisch direkt im Anschluss installieren. 
-Mit diesem Script wird Windows Update gezwungen eine sofortige Prüfung auf Updates durchzuführen, die Updates herunterzuladen und zu installieren.  
-Außerdem wird vom WSUS abgefragt wie viele Updates für diesen Rechner noch ausstehen.  
-Da Windows zwischen den Updates Reboots benötigt wird dieser Status an WINST übergeben und der Rechner solange neu gestartet bis der Wert auf 0 Updates steht !  
- 
-Da der Status vom WSUS abgefragt wird, wird ein WSUS benötigt (jedenfalls für die Status abfrage!) 
- 
- 
-**Das Script befindet sich noch in der Testphase und funktioniert noch nicht 100% Fehlerfrei - über weitere Ideen und Verbesserungsvorschläge wäre ich sehr erfreut !** 
- 
-WINST Script 
-<code winst> 
- 
-[INITIAL] 
-DefStringList $counterString$ 
-DefVar $CounterVar$ 
-DefVar $TRIM$ 
- 
-[ACTIONS] 
-ShellInAnIcon_Forceupdates 
-ShellInAnIcon_Check 
- 
- 
-set $counterString$ = getOutStreamFromSection('ShellInAnIcon_check') 
- 
-set $CounterVar$ = takeString(0,$CounterString$) 
-set $trim$ = trim($CounterVar$) 
- 
- 
-if $trim$ =  "0" 
- comment "Keine Updates mehr Verfügbar" 
- 
-else 
- ExitWindows /ImmediateReboot 
- comment weitere Updates verfügbar reboot wurde initialisiert ! 
-endif 
- 
- 
- 
-[shellInAnIcon_Check] 
-@echo off 
-Powershell %scriptpath%\check.ps1 
-@echo on 
- 
- 
-[ShellInAnIcon_Forceupdates] 
-regedit /s %scriptpath%\WSUS.reg 
-net stop wuauserv 
-REG DELETE "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v LastWaitTimeout /f 
-REG DELETE "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v DetectionStartTime /f 
-Reg Delete "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v NextDetectionTime /f 
-REG Delete "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v ScheduledInstallDate /f 
-REG Add "HKLM\Software\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v ScheduledInstallDate /f /d "2010-01-01 06:00:00" 
-net start wuauserv 
-wuauclt /detectnow 
-wuauclt /updatenow 
-</code> 
- 
- 
-check.ps1 
-<code> 
-$Session= New-Object -ComObject Microsoft.Update.Session 
-$Searcher = $Session.CreateUpdateSearcher() 
-$list = $Searcher.Search('IsInstalled = 0 and IsHidden = 0') 
-write-host $list.updates.count 
-</code> 
- 
-TODO:  
-  * Testen unter Windows 7 x64  
-  * Maximale Anzahl von Reboots integrieren (zum Fehler abfangen und um eine Endlosschleife zu verhindern) 
-  * Registry Anpassungen über WINST und nicht Batch durchführen 
-  * Genauere Reports an Opsiconfd GUI 
-  * Allgemeine Verbesserungen, Schalter für Autoupdates 
  
userspace/windows_updates_wsus_required.txt · Last modified: 2021/08/23 08:37 (external edit)