Центр обновления Windows - Желание использовать Интернет, а не WSUS
Я пытаюсь настроить этот код, чтобы он выполнял поиск в Центре обновления Windows для проверки в режиме онлайн от Microsoft, а не с локального сервера WSUS. Этот код работает нормально, если я запускаю его, когда я нахожусь вне сети моей компании, но я хочу работать из сети компании и обходить сервер WSUS.
Private Sub CheckForUpdates()
Dim objUpdateSession As WUApiLib.UpdateSession
Dim objUpdateSearcher As WUApiLib.UpdateSearcher
Dim objSearchResults As WUApiLib.ISearchResult
Dim objUpdateDownloader As WUApiLib.UpdateDownloader
Dim NowInstallThem As WUApiLib.UpdateInstaller
Dim NumPatches As Integer = -1
Dim Updates As New WUApiLib.UpdateCollection
Try
objUpdateSession = New WUApiLib.UpdateSession
objUpdateSearcher = objUpdateSession.CreateUpdateSearcher()
objSearchResults = objUpdateSearcher.Search("IsInstalled=0 and Type='Software'")
NumPatches = objSearchResults.Updates.Count
MessageBox.Show("Number of patches: " & NumPatches.ToString)
Dim patch As WUApiLib.IUpdate
For a = 0 To NumPatches - 1
patch = objSearchResults.Updates.Item(a)
Updates.Add(patch)
Next
If NumPatches > 0 Then
objUpdateDownloader.Updates = Updates
objUpdateDownloader.Download()
MessageBox.Show("patches downloaded")
NowInstallThem.Updates = Updates
NowInstallThem.Install()
MessageBox.Show("patches installed")
End If
Catch ex As Exception
End Try
End Sub
2 ответа
Этим управляет
UseWUServer
в разделе реестра клиентов
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
- Сохраните значение ключа
- Установите его на «0»
- Установите таймер, который сбрасывает значение через 10 секунд.
- Немедленно запустите поиск
searchResult = updateSearcher.Search(...)
Если ключ или значение отсутствуют, значит, серверы обновлений Microsoft уже используются.
Это немного хакерский, но единственный способ, который я нашел.
Понимая, что это старый вопрос (с довольно новым ответом), способ сделать это - установить
ServerSelection
свойствоIUpdateSearcher
(в исходном примере
objUpdateSearcher
экземпляр) кssWindowsUpdate
(2).