WSUS Paket funktioniert nicht
Verfasst: 27 Jan 2016, 15:19
Hallo zusammen,
habe mir das WSUS Paket vom Wiki kopiert.
Leider funktioniert dies nicht und ich finde den Fehler nicht
Es wird Windows 8.1 eingesetzt.
Vielen Dank
Mike
habe mir das WSUS Paket vom Wiki kopiert.
Leider funktioniert dies nicht und ich finde den Fehler nicht
Es wird Windows 8.1 eingesetzt.
Code: Alles auswählen
[Initial]
setLogLevel=9
; Log Errors in Logfile but don't abort:
ExitOnError=false
; Show syntax errors in the script:
ScriptErrorMessages=on
; Dont trace step by step through the script:
TraceMode=off
; let started programs run in front of the winst window
StayOnTop=false
[Actions]
requiredWinstVersion >= "4.10.8.6"
DefVar $ProductId$
DefVar $Version$
DefVar $LogDir$
DefVar $Inst_Cmd32$
DefVar $Inst_Prg$
DefVar $MinimumSpace$
DefVar $INST_architecture$
DefVar $INST_SystemType$
DefVar $LicenseRequired$
DefVar $LicensePool$
DefVar $Uninst_Prg$
Set $INST_SystemType$ = GetSystemType
set $INST_architecture$ = GetProductProperty("install_architecture","system specific")
Set $LogDir$ = "%SystemDrive%\tmp"
; ----------------------------------------------------------------
; - Please edit the following values -
; ----------------------------------------------------------------
;$ProductId$ should be the name of the product in opsi
; therefore please: only lower letters, no umlauts,
; no white space use '-' as a seperator
Set $ProductId$ = "Windows Updates - WSUS"
Set $Version$ = "1.0"
Set $MinimumSpace$ = "500 MB"
Set $LicenseRequired$ = "false"
Set $LicensePool$ = "p_" + $ProductId$
Set $Inst_Prg$ = "script.cmd"
Set $Uninst_Prg$ = ""
Set $Inst_Cmd32$ = ""
; ----------------------------------------------------------------
if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$
isFatalError
; Stop process and set installation status to failed
else
comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$
if $LicenseRequired$ = "true"
comment "Licensing required, reserve license and get license key"
Sub_get_licensekey
endif
comment "installing"
if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
Message "Installing " + "Windows Updates" + " - This may take a lot of time..."
comment "Start setup program. This may take a lot of time ..."
Winbatch_install_32
endif
endif
[Winbatch_install_32]
%ScriptPath%\$Inst_Prg$
ExitWindows /Reboot
Code: Alles auswählen
cscript.exe P:\windowsupdates\wsus_updates.vbs
Code: Alles auswählen
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software'")
WScript.Echo "List of applicable items on the machine:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next
If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
Else
Set WSHShell = WScript.CreateObject("WScript.Shell")
WScript.Echo "STOP SAV..." & vbCRLF
WshShell.Run "net stop SAVService", TRUE
WScript.Sleep 10000
End If
WScript.Echo vbCRLF & "Creating collection of updates to download:"
Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToDownload.Add(update)
Next
WScript.Echo vbCRLF & "Downloading updates..."
Set downloader = updateSession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
downloader.Download()
WScript.Echo vbCRLF & "List of downloaded updates:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
If update.IsDownloaded Then
WScript.Echo I + 1 & "> " & update.Title
End If
Next
Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl")
WScript.Echo vbCRLF & _
"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
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToInstall.Add(update)
End If
Next
WScript.Echo "Installing updates..."
Set installer = updateSession.CreateUpdateInstaller()
installer.Updates = updatesToInstall
Set installationResult = installer.Install()
'Output results of install
WScript.Echo "Installation Result: " & _
installationResult.ResultCode
WScript.Echo "Reboot Required: " & _
installationResult.RebootRequired & vbCRLF
WScript.Echo "Listing of updates installed " & _
"and individual installation results:"
For I = 0 to updatesToInstall.Count - 1
WScript.Echo I + 1 & "> " & _
updatesToInstall.Item(i).Title & _
": " & installationResult.GetUpdateResult(i).ResultCode
Next
If installationResult.RebootRequired = true Then
WScript.Echo "" & vbCRLF
WScript.Echo "System reboot now" & vbCRLF
Set WSHShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "wuauclt /reportnow"
WScript.Sleep 10000
WshShell.Run "C:\WINDOWS\system32\shutdown.exe -r -t 10"
Else
WScript.Echo "" & vbCRLF
WScript.Echo "No reboot needed" & vbCRLF
Set WSHShell = WScript.CreateObject("WScript.Shell")
WScript.Echo "START SAV" & vbCRLF
WshShell.Run "net start SAVService", TRUE
WshShell.Run "wuauclt /reportnow", TRUE
End If
Code: Alles auswählen
[Package]
version: 1
depends:
incremental: False
[Product]
type: localboot
id: windowsupdates
name: Windows Updates
description: Installiert Windowsupdates
advice:
version: 1.5
priority: -89
licenseRequired: False
productClasses:
setupScript: setup.ins
uninstallScript:
updateScript:
alwaysScript:
onceScript:
customScript:
userLoginScript:
[ProductProperty]
type: unicode
name: ausstehend
multivalue: False
editable: True
description: Noch ausstehende Updates (nicht editieren)
values: ["0"]
default: ["0"]
[ProductProperty]
type: unicode
name: rebootcounter
multivalue: False
editable: True
description: Anzahl bisheriger Neustarts (nicht editieren)
values: ["0"]
default: ["0"]
[ProductProperty]
type: unicode
name: numberofneededreboots
multivalue: False
editable: True
description: Startet Rechner bei bedarf auf mehrmals neu
values: ["0", "10", "11", "12", "13", "14", "15", "3", "4", "5", "6", "7", "8", "9"]
default: ["15"]
Mike