В настоящее время я пишу тип автоматизированной программы, которая, среди прочего, ищет обновления для Windows. Он может искать и получать обновления просто отлично, но у меня возникают проблемы с сверлением, для какого приоритета есть обновление. Я хотел бы иметь результат, похожий на:Как узнать, является ли Windows Update необязательным, рекомендуемым или важным
Всего обновления: 25 Важно: 12 дополнительно: 13
.IsMandatory поле используется только, когда обновление специально для самой АВП, так важные обновления не обязательно помечены значком .IsMandatory.
Фрагмент кода для поиска АВП ниже:
Dim updateSession ' Object to hold our MS Update Session
Dim updateSearcher ' Object to perform our MS Win Update Search
Dim results ' Object to hold our MS Win Update Search Results
Dim stopWatch As New Stopwatch()
stopWatch.Start()
outputWriter.WriteLine("----WINDOWS [email protected] " & Now, False)
outputWriter.WriteLine(" -We are beginning our update search. Please note, this may take a few minutes." & _
" On Windows Server 2003 this may take 800 years.", False)
' We cannot guarantee the update check will succeed, so use a try catch in case of error.
Try
updateSession = CreateObject("Microsoft.Update.Session")
updateSearcher = updateSession.CreateUpdateSearcher()
results = updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
Catch ex As Exception
outputWriter.WriteLine(" ERROR: Something went wrong in our update search. Details below...", False)
outputWriter.WriteLine(" Error Msg: " & ex.Message, False)
Return 1
End Try
Dim imp_updates = 0
Dim opt_updates = 0
For i = 0 To results.Updates.Count - 1
Dim update = results.Updates.Item(i)
If update.IsMandatory = False Then
opt_updates = opt_updates + 1
Else
imp_updates = imp_updates + 1
End If
Next
outputWriter.WriteLine("Important Updates: " & imp_updates, True)
outputWriter.WriteLine("Optional Updates: " & opt_updates, True)
Я только что попробовал, но он показывает 2 важных обновления, которые у меня есть как «неуказанные». Возможно, он там для использования, и MS не использует его очень эффективно, ха-ха. Я сделал поиск в Интернете о MsrcSeverity и, по-видимому, он используется только тогда, когда обновление связано с исправлением безопасности. Такой патч для дыры в безопасности, и патч оценивается с серьезным защитным отверстием, которое он фиксирует. – WoofDg79