| | rupunx 
 
  
 Newbie
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Почти все проблемы с обновлениями у клиентов я решил, создав скрипт для автоматических исправлений всяких проблем. И здесь и там подчеривал свои знания в поисках решения тех или иных проблем обновлений, потихоньку создавал единый скрипт по их разрешению, в итоге получил типа того, который вроде здесь встречал(по моему его назвали ацким скриптом или что-то в этом духе). Ну так как он даже перекрывал мой, я его скомбинировал со своими изысканиями и получил решеньеце. Запускаю psexecom на всех проблемных компах и они начинаю обновляться.
 Само тело скрипта вота
 
 Код:
 | \\dc\Progs\winupd\updupd.exe /quiet /norestart \\dc\Progs\winupd\msi.exe /quiet /norestart
 \\dc\Progs\winupd\winupd31.exe /wuforce /quiet /norestart
 \\dc\Progs\winupd\winupd32.exe /wuforce /quiet /norestart
 net stop bits
 net stop wuauserv
 SC sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
 SC sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
 xcopy \\dc\Progs\winupd\wups.dll %windir%\system32\ /c /q /r /y
 xcopy \\dc\Progs\winupd\wups2.dll %windir%\system32\ /c /q /r /y
 @echo off
 if exist %Windir%\system32\atl.dll %Windir%\system32\regsvr32.exe /s %Windir%\system32\atl.dll
 if exist %Windir%\system32\jscript.dll %Windir%\system32\regsvr32.exe /s %Windir%\system32\jscript.dll
 if exist %Windir%\system32\softpub.dll  %Windir%\system32\regsvr32.exe /s %Windir%\system32\softpub.dll
 if exist %Windir%\system32\wuapi.dll %Windir%\system32\regsvr32.exe /s %Windir%\system32\wuapi.dll
 if exist %Windir%\system32\wuaueng.dll  %Windir%\system32\regsvr32.exe /s %Windir%\system32\wuaueng.dll
 if exist %Windir%\system32\wuaueng1.dll  %Windir%\system32\regsvr32.exe /s %Windir%\system32\wuaueng1.dll
 if exist %Windir%\system32\wucltui.dll  %Windir%\system32\regsvr32.exe /s %Windir%\system32\wucltui.dll
 if exist %Windir%\system32\wups.dll  %Windir%\system32\regsvr32.exe /s %Windir%\system32\wups.dll
 if exist %Windir%\system32\wups2.dll  %Windir%\system32\regsvr32.exe /s %Windir%\system32\wups2.dll
 if exist %Windir%\system32\wuweb.dll  %Windir%\system32\regsvr32.exe /s %Windir%\system32\wuweb.dll
 if exist %windir%\system32\iuengine.dll %windir%\system32\regsvr32.exe /s iuengine.dll
 if exist %windir%\system32\wuauserv.dll %windir%\system32\regsvr32.exe /s wuauserv.dll
 if exist %windir%\system32\cdm.dll %windir%\system32\regsvr32.exe /s cdm.dll
 if exist %windir%\system32\msxml2r.dll %windir%\system32\regsvr32.exe /s msxml2r.dll
 if exist %windir%\system32\msxml3r.dll %windir%\system32\regsvr32.exe /s msxml3r.dll
 if exist %windir%\system32\msxml.dll  %windir%\system32\regsvr32.exe /s msxml.dll
 if exist %windir%\system32\msxml3.dll %windir%\system32\regsvr32.exe /s msxml3.dll
 if exist %windir%\system32\msxmlr.dll %windir%\system32\regsvr32.exe /s msxmlr.dll
 if exist %windir%\system32\msxml2.dll %windir%\system32\regsvr32.exe /s msxml2.dll
 if exist %windir%\system32\qmgr.dll %windir%\system32\regsvr32.exe /s qmgr.dll
 if exist %windir%\system32\qmgrprxy.dll %windir%\system32\regsvr32.exe /s qmgrprxy.dll
 if exist %windir%\system32\iuctl.dll %windir%\system32\regsvr32.exe /s iuctl.dll
 reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate /f
 rd /s /q %windir%\softwareDistribution
 del %windir%\WindowsUpdate.log /f /q
 %Windir%\system32\net.exe start bits
 %Windir%\system32\net.exe start wuauserv
 wuauclt.exe /resetauthorization /detectnow
 call \\dc\Progs\winupd\Sleep.exe 5
 copy %windir%\WindowsUpdate.log \\dc\ShareFolder\upd\%computername%_wu.log /Y
 | 
 Соответственно, \\dc\Progs\winupd\ это надо изменить на свои расшаренные папки в которые кинуть Sleep.exe — утилитка из RKTools для задержки, Windows Installer 4.5(он у меня назван msi.exe), Windows Update Client это winupd31.exe и его обновление winupd32.exe, updupd.exe — это обновление KB922582. Между делом еще копируются файлики wups.dll и wups2.dll — они частенько бывают повреждены(правда они не всегда удачно копируются — то есть не копируются вообще, так как исходники заняты какими-то процессами).
 Ну и наконец, чтоб чуток отследить, что всё прошло чики-пики, в расшаренную папку \\dc\ShareFolder\upd\ кидается часть лога WindowsUpdate.log(ну что успело в лог записаться за 5 сек, конечно можно сделать задержку и побольше).
 Весь боекомплект предоставляю по ссылке http://rapidshare.com/files/224129804/winupd.7z
 
 |  | Всего записей: 7 | Зарегистр. 31-08-2006 | Отправлено:  00:15 22-04-2009  | Исправлено: rupunx,   00:17 22-04-2009
 | 
 |