1

В Windows 10 Home параметры Центра обновления Windows ограничены. Я бы хотел, чтобы он не запустился и вместо этого попросил пользователя запустить его, когда он будет готов. Причина в том, что он запускается слишком часто, занимает слишком много времени, он разряжает батарею, и пользователь не доволен.

Я могу отключить службу «Обновление окон» и настроить напоминание для пользователя о запуске сценария, чтобы снова включить его и запустить. Но как узнать, когда обновление Windows завершено, чтобы я мог снова отключить службу?

Этот вопрос не помогает ...

как к детектировать-быстро-это-Windows-обновление-это-обкатка правой теперь на моем компьютере-

2 ответа2

1

Я предлагаю вам использовать инструмент под названием Windows Update MiniTool, который позволяет искать обновления, а также выбирать, какие обновления вы хотите установить, и позволяет блокировать обновления, как это было в предыдущих версиях Windows.

Альтернатива стандартному Windows Update Что вы можете сделать:
Проверьте наличие обновлений
• Скачать обновления
• Установка обновлений
• Удаление установленных обновлений
• Скрытие нежелательных обновлений
• Получить прямые ссылки на * .cab / *.EXE / *.Psf файлы обновления • Просмотр истории обновлений
• Настройка автоматического обновления
• Этот инструмент похож на внешний модуль PowerShell PSWindowsUpdate, но гораздо более продвинутые и удобные функции
• Инструмент полагается и использует ту же инфраструктуру WU, все загрузки через WU, это не загрузчик

1

Возможно, вы можете запланировать сценарий PowerShell с помощью планировщика задач, чтобы каждую среду проверять историю клиентов Центра обновления Windows.

Я поставил быстрый скрипт, который проверяет, все ли обновления, примененные за последний день, были успешными.

$Session = New-Object -ComObject "Microsoft.Update.Session"

$Searcher = $Session.CreateUpdateSearcher()
$yesterday = (Get-Date).Addmonths(-5)

$historyCount = $Searcher.GetTotalHistoryCount()



$Searcher = $Searcher.QueryHistory(0, $historyCount) | Where-object {$_.Date -gt $yesterday} |Select-Object Title, Date,

    @{name="Result"; expression={switch($_.ResultCode){

       0{"NotStarted"}; 1 {"InProgress"}; 2 {"Succeeded"}; 3 {"SucceededWithErrors"}; 4 {"Failed"}; 5{"Aborted"}

}}} 


if ($Searcher -eq $null){

Write-Host "Updates not found."
break

}

#Checks for whether all updates installed correctly.
if ($Searcher.Result -eq "Succeeded"){

Write-Host "Everything installed."

#Stops windows service
Stop-Service -Name wuauserv -Force
Get-service  -Name wuauserv 


}
elseif ($Searcher.Result -eq "InProgress"){

Write-Host "Updates are still been applied."
}
else {


Write-Host "Updates are in error status"
$Searcher 
}

НОТА:

Авторы благодарят Курта Хадсона и Питера Глилена на форуме Microsoft TechNet за публикацию « Как составить список всех обновлений Windows и программного обеспечения, примененных к компьютеру».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .