Automatiseer Windows update

Pagina: 1
Acties:
  • 350 views

Acties:
  • 0 Henk 'm!

  • sander.jansen
  • Registratie: April 2012
  • Laatst online: 27-09-2023
Hey, ik weet niet zeker of ik hier op de goede afdeling ben maar kan imand mij helpen met het volgende script?

De bedoeling is dat dit script: updates zoekt, vervolgens installeert en dan vanzelf een reboot doet. Als er geen updates meer zijn dan stopt het script.

Ik krijg een foutmelding op het moment dat een update een reboot nodig heeft, als dit niet het geval is dan is er niets aan de hand? zie dik gedrukte regel, hier krijg ik de fout op.

Hieronder het script:

Set fso = CreateObject("Scripting.FileSystemObject")
Set objAutomaticUpdates = CreateObject("Microsoft.Update.AutoUpdate")
objAutomaticUpdates.EnableService
objAutomaticUpdates.DetectNow

Set objSession = CreateObject("Microsoft.Update.Session")
Set objSearcher = objSession.CreateUpdateSearcher()
Set objResults = objSearcher.Search("IsInstalled=0 and Type='Software'")
Set colUpdates = objResults.Updates

Set objUpdatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
intUpdateCount = 0
For i = 0 to colUpdates.Count - 1
intUpdateCount = intUpdateCount + 1
Set objUpdate = colUpdates.Item(i)
objUpdatesToDownload.Add(objUpdate)
Next

If intUpdateCount = 0 Then
WScript.Quit
Else
Set objDownloader = objSession.CreateUpdateDownloader()
objDownloader.Updates = objUpdatesToDownload
objDownloader.Download()

Set objInstaller = objSession.CreateUpdateInstaller()
objInstaller.Updates = objUpdatesToDownload
Set installationResult = objInstaller.Install()

Set objSysInfo = CreateObject("Microsoft.Update.SystemInfo")
If objSysInfo.RebootRequired Then
Set objWMIService = GetObject _ _
("winmgmts:{impersonationLevel=impersonate(Shutdown)}!\\localhost\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
objOperatingSystem.Reboot()
Next
End If
End If


Alvast bedankt :)

[ Voor 3% gewijzigd door sander.jansen op 16-06-2015 15:10 ]


Acties:
  • 0 Henk 'm!

  • mbaltus
  • Registratie: Augustus 2004
  • Laatst online: 09-10 15:35
Dit lijkt me een typisch gevalletje van foute syntax. Als je code over twee lijnen wilt verdelen, moet je slechts één "_" gebruiken en geen twee achter elkaar. Of dat het inderdaad is, weet ik niet, want je hebt de foutmelding niet in je start-post erbij gezet.

Verder zouden code-tags en een beetje inspringen in je code ook niet misstaan voor de leesbaarheid

[ Voor 16% gewijzigd door mbaltus op 16-06-2015 15:21 ]

The trouble with doing something right the first time is that nobody appreciates how difficult it is


Acties:
  • 0 Henk 'm!

  • sander.jansen
  • Registratie: April 2012
  • Laatst online: 27-09-2023
ik heb in het script zelf inderdaad de inspringingen, deze zijn niet megenomen met plakken in tweakers... sorry hiervoor... ik kon de foutcode niet opnieuw crieren omdat ik al opnieuw heb opgestart en er nu geen updates meer zijn -.- ... ik heb echter wel een vm gemaakt om het verder te testen. ik laat hier zo het resultaat van horen.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-10 22:32

Janoz

Moderator Devschuur®

!litemod

In dit deel van het forum verwachten we wel iets meer dan het dumpen van een stuk code met de melding dat het niet werkt. Lees eerst het beleid van de devschuur even door voordat je een topic plaatst.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Dit topic is gesloten.