Hi, hat sich vielleicht schon mal jemand mit dem Thema SUS bzw WSUS für Windows mit Autoit beschäftigt ? (Windows Updatepatches)
Ich könnte mir vorstellen das man das mit einem Autoitscript zumindest auf ganz simpler Ebene realisieren könnte.
Mir schwebt folgendes vor:
- Unterscheidung ob WinXP SP1 und SP2
- vergleich der der Installierten Patches mit ggf neuen in einem Verzeichnis
- Differenzen installieren mit einem dynamisch erzeugtem UpdateScript
Ein Liste der Patches (und aller anderen installierten Programme) habe ich schon mal vor einiger Zeit gebastelt:
C
;Script läuft nur mit der BetaVersion von Autoit
#include <process.au3>
$TEMPFILE = @TempDir & "\tempfile.txt"
$TEMPFILE1 = @TempDir & "\tempfile1.txt"
$FILE1 = "c:\tempdatei1.txt"
Prog_auslesen2()
Run("Notepad " & $TEMPFILE1)
Func Prog_auslesen2()
FileDelete(@TempDir & "\*.txt")
$y = 1; Standartwert für installiertest Programm z.B "winzip"="1"
$reg_uninstall = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
$fn = (@TempDir & "" & @ComputerName & "-programs.txt")
;$fn2 = (@TempDir & "" & @ComputerName & "-programs2.txt")
If FileExists($tempfile) then
FileDelete($tempfile)
EndIf
$f = FileOpen($tempfile, 1)
; Check if file opened for writing OK
If $f = -1 Then
Exit
EndIf
Do
$prgkey_read = RegEnumKey($reg_uninstall, $y);gets the key
$prgkey_read2 = Stringleft($prgkey_read, 1)
$prg_read = RegRead($reg_uninstall & "" & $prgkey_read, "DisplayName")
If $prg_read > "" Then
FileWrite($f, """" & $prg_read& """" & "=" & "1" & @CRLF)
EndIf
$y = $y + 1
Until $prgkey_read= ""
FileClose($f)
_rundos("sort " & $tempfile & " > " & $TEMPFILE1)
EndFunc
Alles anzeigen