Знакомая проблемка... решаю ленивым образом:
Скрипт запускается с рабочего места администратора, с повышенными правами, должен быть установлен комплект PStools, имена компьютеров с ошибками обновления можно посмотреть в консоли WSUS.
Еще очень желательно отклонять ненужные обновления в WSUS и проводить чистку папки WsusContent - помогает избежать таких ситуаций.
Bat-файл:
-------------------------------------
@echo off > nul
echo.
echo Скрипт для исправления ошибок обновления Windows 7
echo.
echo На компьютере должен быть установлен комплект pstools
echo.
echo Запуск скрипта - обязательно от имени администратора.
echo.
:: Enter %computername% - from WSUS errors
set /p X="Введите имя компьютера: "
:: Stop services
psservice \\%X% stop bits
psservice \\%X% stop wuauserv
:: Waiting...
ping -n 6 127.0.0.1 > nul
:: Check and rename folder SoftwareDistribution
if exist "\\%X%\c$\Windows\SoftwareDistribution_bak" rd /s /q "\\%X%\c$\Windows\SoftwareDistribution_bak"
ren "\\%X%\c$\Windows\SoftwareDistribution\" SoftwareDistribution_bak
:: Wait again...
ping -n 6 127.0.0.1 > nul
:: Start services
psservice \\%X% start bits
psservice \\%X% start wuauserv
:: Wait untill services are started...
ping -n 6 127.0.0.1 > nul
:: Query services
echo.
echo.
psservice \\%X% query bits
psservice \\%X% query wuauserv
psexec -s \\%X% wuauclt.exe /updatenow
:: Done!
echo.
echo Папка SoftwareDistribution пересоздана, клиент обновления перезапущен.
echo.
pause
exit
-------------------------------------
Т.е. на проблемном компьютере пересоздается папка Sofrware Distribution и перезапускается клиент обновления. Через день-два все приходит в норму, можно ускорить и принудительно обновить проблемные компьютеры, но это не обязательно.