Проблема перерегистрации любого хоста на сервере обновлений решается одной простой командой:
wuauclt /detectnow /resetAuthorization
Вот только её надо исполнять непосредственно из консольной сессии (сидя непосредственно за нужным компьютером) или колдовать с той самой утилитой. Групповые политики, само собой, отпадают, если вам не нужно зацикливать перерегистрацию или возиться со списком «да-нет» хостов.
Для собственного удобства — написал простенький скрипт на PowerShell:
[System.Console]::Title = "Перерегистрация удалённого хоста на WSUS"
while($true)
{
$remotehostname = Read-Host "Имя удалённого хоста"
[System.Console]::Title = "Перерегистрация $remotehostname на WSUS"
try
{
Write-Host "Отправка команды на $remotehostname" -ForegroundColor Cyan
Set-Service -ComputerName $remotehostname -Name WinRM -Status Running -PassThru | Out-Null
Invoke-Command -ComputerName $remotehostname -ScriptBlock { wuauclt /detectnow /resetAuthorization }
Write-Host "Команда успешно выполнена!" -ForegroundColor Green
Write-Host
}
catch { Write-Host "Ошибка отправки команды" -ForegroundColor Red; Write-Host }
}
Скрипт спрашивает имя хоста и выполняет на нём команду перерегистрации хоста на сервере обновлений. Если что-то идёт не так — возвращается ошибка. Всё выполняется в цикле, так что можно добавлять хосты на сервер в ручном режиме, пока сами не впадёте в рекурсию.