phill93
Goto Top

Windows Update: soll Zustand ermitteln und Update Beschreibungen beziehen

Hallo,

ich bastle gerade an einer Automatisierten Update intergration in unser Windows 10 Base Image.
Nun will ich mir eine kleine Webanwendung Scripten die mir die Build Jobs und die im Image enthaltenen Updates anzeigt.
Das ermitteln der installierten Updates ist kein Problem diese bekomme ich aus der Build VM per Powershell Script (-> API).

Nun hätte ich gerne in meiner Anwendung die passende Beschreibung zu den KB Nummern und eine Anzeige ob auch alle vorhandenen Updates eingespielt sind.
Diese Info hätte ich aber gerne von extern (nicht aus der VM) um Fehler mit Windows Update auszuschliesen.
Hat jemand eine Ide wo ich diese Daten herbekommen könnte?

Gruß

Phill93

Content-Key: 361931

Url: https://administrator.de/contentid/361931

Ausgedruckt am: 19.03.2024 um 04:03 Uhr

Mitglied: 135185
135185 22.01.2018 aktualisiert um 09:04:13 Uhr
Goto Top
Einfach an die URL https://support.microsoft.com/en-us/kb/ die KB-ID (z.B. 3088195 ) anhängen und die Beschreibung aus dem Quelltext lesen.
Invoke-WebRequest ist für Powershell dein Freund.

Gruß Sepp
Mitglied: emeriks
emeriks 22.01.2018 um 09:06:55 Uhr
Goto Top
Hi,
hier ein einfacher Ansatz mit VBscript.

On error resume next
Set updateSession = CreateObject("Microsoft.Update.Session")  
if updateSession is nothing then
  Wscript.Echo """Microsoft.Update.Session"" kann nicht erstellt werden."  
  Script.Quit
end if 
Set updateSearcher = updateSession.CreateupdateSearcher()        
if updateSearcher is nothing then
  Wscript.Echo """updateSearcher"" kann nicht erstellt werden."  
  Script.Quit
end if 
'Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software'")  
Set searchResult = updateSearcher.Search("")   '("IsInstalled=0")  
if searchResult is nothing then
  Wscript.Echo """searchResult"" kann nicht erstellt werden."  
  Script.Quit
end if 
 
If SearchResult.Updates.Count > 0 Then
    WScript.Echo ""  
  For Each Item In SearchResult.Updates
    Wscript.Echo "Titel: " & Item.Title  
    Wscript.Echo "Beschreibung: " & Item.Description  
    Wscript.Echo "Release Notes: " & Item.ReleaseNotes  
    KBs = ""  
    For Each KB In Item.KBArticleIDs
      If KBs = "" Then  
        KBs = KB
      Else
        KBs = KBs & ", " & KB  
      End If
    Next 
    WScript.Echo "KB: " & KBs  
    If Item.EulaAccepted Then
      WScript.Echo "Eula: OK"      
    Else
      WScript.Echo "Eula: Benutzereingriff notwendig"      
    End If
    If Item.Type = 1 Then
      WScript.Echo "Typ: Software"  
    Else
      WScript.Echo "Typ: Treiber"  
    End If
    Wscript.Echo "DeploymentAction: " & Item.DeploymentAction  
    Wscript.Echo "versteckt: " & Item.IsHidden  
    Wscript.Echo "Beta-Version: " & Item.IsBeta  
    Wscript.Echo "heruntergeladen: " & Item.IsDownloaded  
    Wscript.Echo "installiert: " & Item.IsInstalled  
    WScript.Echo ""  
  Next
End If

siehe auch
Searching, Downloading, and Installing Updates

E.
Mitglied: 135185
135185 22.01.2018 aktualisiert um 11:41:06 Uhr
Goto Top
Diese Info hätte ich aber gerne von extern (nicht aus der VM) um Fehler mit Windows Update auszuschliesen.

Die Daten kann man auch offline aus der Wsusscn2.cab auslesen
https://msdn.microsoft.com/en-us/library/aa387290(v=vs.85).aspx
https://support.microsoft.com/en-us/help/927745

Aber viel Info liefern die Descriptions dort nicht, deswegen besser die detaillierten Infos von der Webseite klauben.
Mitglied: Phill93
Phill93 22.01.2018 um 13:00:39 Uhr
Goto Top
Danke mal für die vielen Ideen.

Hat noch jemand eine idee wie ich den soll Zustand rausbekomme?

Gruß

Phill93
Mitglied: emeriks
emeriks 22.01.2018 um 13:48:55 Uhr
Goto Top
Hat noch jemand eine idee wie ich den soll Zustand rausbekomme?
"Item.IsInstalled = False" ?