powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / svchost.exe ?????????
17 сообщений из 67, страница 3 из 3
svchost.exe ?????????
    #34473885
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
он там, кажется, уже установлен и запущен. В любом случае, не спешите, т.к. самописки грешат большим количеством ошибок.
Сейчас думаю, а если пользователь еще не вошел в систему, то для Windows это значит, что ПК заблокирован? Значит, надо добавить проверку на наличие в памяти explorer.exe... Сейчас поправлю.
Еще момент: что происходит, если автообновление остановить тогда, когда идет установка обновления?
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34473913
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
исправил...
Код: plaintext
1.
2.
     if  (FindMyProcess('.scr')=true)  or  (IsWorkstationLocked = true)  then 
       begin 
         if  FindMyProcess('explorer.exe') = false  then  Exit;
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34474058
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторесть ли в списке процессов подстрока .scr, то...Залкрались некоторые сомнения, что ТО выполняется. Как проверить?
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34474084
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я использую отладчик Process Explorer (см. рис.) и апплет свойств экрана, т.е. перехожу на закладку заставки, выбираю любую, rundll32 ее подгружает, смотрю подсвеченный список служб одного из svchost.exe, там через неск. секунд появляется Automatic Updates и виден запуск wuauclt.exe /detectnow. Потом перехожу на любую другую закладку свойств экрана, жду 15 секунд, смотрю. Этот алгоритм нормально отрабатывает, пока всплыло еще одно: SwitchDesktop, которыйсидит в проверке, не заблокирована ли рабочая станция, нельзя использовать, когда пользователь еще не вошел, просто окно логина исчезнет, придется перезагружать и за 15 секунд успеть пароль ввести. Ну, или по сети отключить свежеустановленную службу.
Исправил. Если где установить успели - замените файлик, надо сначала службу остановить, потом заменить файл и запустить снова.
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34474087
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34474217
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни фига не вышло, не работает. Совсем забыл, что при установке в политике автообновления в "Отключено" служба остается работать, т.е. отключать-то ее, конечно, помогает, но вот при включении она все равно не синхронизируется.
Почитаю SDK (Windows Update Services Client API), завтра что-нибудь, наверное, получится, а то задолбало уже урывками апдейты ставить :(
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34474527
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, поправьте мои мысли, а то вполне возможно, что я не туда иду. Ход рассуждений:
1. автоматическое обновление на рабочих станциях непозволительно сильно и долго грузит процессор.
2. раз шаманства не помогают, остается смириться и пытаться перенести время детекта обновлений на период, когда ПК простаивает.
3. в политиках, определяющих параметры работы wuauserv нет значений, позволяющих запустить детект во время простоя. Т.е. политика в данном случае штука лишняя и ею не пользуемся (ставим все на Not Configured)
5. в течение дня реальным индикатором праздности ПК может быть только заставка (в частности, навязанная из групповой политики)
6. параметры wuauserv сидят в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update, а политика пишет вроде как в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\AU, т.е. на всякий случай надо писать и туда, и сюда. Анализ adm-файла показал, что это:
wuau.adm->delphi с нужными настройками WriteInteger('AUOptions',4);
WriteInteger('NoAUShutdownOption',0);
WriteInteger('NoAUAsDefaultShutdownOption',0);
WriteInteger('ScheduledInstallDay',0);
WriteInteger('ScheduledInstallTime',4); //0-23
WriteInteger('UseWUServer',1);
WriteString('WUServer','http://server');
WriteString('WUStatusServer','http://server');
WriteInteger('RescheduleWaitTimeEnabled',1);
WriteInteger('RescheduleWaitTime',30);
WriteInteger('NoAutoRebootWithLoggedOnUsers',1);
WriteInteger('DetectionFrequencyEnabled',1);
WriteInteger('DetectionFrequency',1);
WriteInteger('AutoInstallMinorUpdates',1);
WriteInteger('RebootWarningTimeoutEnabled',1);
WriteInteger('RebootWarningTimeout',30);
WriteInteger('RebootRelaunchTimeoutEnabled',1);
WriteInteger('RebootRelaunchTimeout',30);
WriteInteger('ElevateNonAdmins',1);
WriteString('NextDetectionTime',my_nextdetection); два самых крутых параметра помечены красным, это параметр, отвечающий за то, включено ли вообще автообновление, второй - время, когда нужно в следующий раз связаться с WSUS. Большинство этих параметров отсутствует в реестре, они идут из .pol-файла политики.
6. для того, чтобы служба wuauserv приняла новые параметры, надо ее рестартануть.
7. исходя из результатов исследования, имеет смысл реализовывать такой алгоритм создания своего процесса-службы (назовем ее диспетчером):
- на старте диспетчера производится 1) запись в реестр параметров, которые ранее писались групповой политикой (как вариант их можно считывать из ini в сетевой шаре на контроллере, если разрешить к ней доступ нруппе "Domain Computers") 2) изменение типа запуска wuauserv и его остановка + в реестр пишется параметр, что автообновление отключено, AUOptions = 0 или 1
- после чего активизируется таймер, в котором проверяется, зашел ли какой-либо пользователь в систему (пока просто по наличию в памяти процесса explorer.exe). Если процесс есть, то смотрим, м.б. есть заставка или заблокирован компьютер. Если да, то надо записать в AUOptions 4 (автоскачка, автоинсталл), в NextDetectionTime (время следующей синхронизации) пишем текущие дату-время плюс, скажем, секунд 30, меняем тип запуска wuauserv, запускаем его, ждем те самые 30 секунд, затем запускаем wuauclt /detectnow.
- если в разгар этого веселья юзеру понадобилось сесть за ПК, то заставка слетит, таймер это обнаружит с запозданием в секунд 15 максимум, запустится процедура: "поменять в реестре параметр AUOptions на 1 или 0, остановить службу"
Внимание вопрос: а что будет, если юзер сел тогда, когда обновления ставятся? Имхо ставит обновления все же windows installer, а не wuauserv, но я не уверен...
Дальше этого башка не варит, спать пошел :(
-
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34475428
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё на заметку тебе - когда сервес запущен, не появлеятся окно логона при загрузке (только в сафемоде, когда серис не запущен)

WinXP SBS2003
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34475462
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это уже исправил:
rrrrrrrrrr пока всплыло еще одно: SwitchDesktop, которыйсидит в проверке, не заблокирована ли рабочая станция, нельзя использовать, когда пользователь еще не вошел, просто окно логина исчезнет, придется перезагружать и за 15 секунд успеть пароль ввести. Ну, или по сети отключить свежеустановленную службу.
Исправил. Если где установить успели - замените файлик, надо сначала службу остановить, потом заменить файл и запустить снова.
Пока отключите у себя вообще эту службу (вместо safe mode можно просто по сети через "Управление компютером-подключиться к удаленному ПК" поставить тип запуска в отключено и перезагрузить). имхо вам лучше на себе пока не испытавать...
Сейчас набело все переделал, запустил у своих (примерно 40 машин, вроде базовая часть работает: когда пользователя нет, все обновление включается, выполняется детект. Когда пользователь возвращается, все послушно стопорится). Но это только детект, надо еще с установкой разобраться, но полдороги вроде пройдено.
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34476112
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А под кем машины? Плд WinServer 2003 ?
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34476439
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Win XP Prof SP2, 1 шт. Win2003 SP1 Std.
Понятно, что на терминалке это дело запускать ни в коем случае нельзя :)

Пока все нормально работает, но у нас время простоя маленькое, так что пока только 6 отчетов пришли на WSUS. Но запускается-останавливается как задумано.
Подозреваю, что все равно придется какие-нибудь вилы обходить на этапе установки обновлений. Детект - это же еще не все...
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34476632
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я наверно чё-то не понял... Если в SBS2003 отключили обновление - то хрен его на клиенте кто запустит. Со вчера по репортам никто не обновлялся, сервер уже и сам волноваться начинает, пишет мол никто за обновлением к нему не приходил...
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34480930
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А этот "помощничек" всегда такой ресурсоёмкий?
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34481000
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сомневаюсь, что кому-нибудь понадобится :)
Все, доделал, теперь работает как надо.
1. состав дистрибутива и установка.
- _wuau.exe, интерактивный сервис, который отключает и останавливает весь функционал автоматического обновления, если на компьютере залогинен пользователь и при этом не выполняется заставка. Если на компьютере не залогинен ни один пользователь и активна заставка, а также если кто-то залогинен и также выполняется заставка, задаются параметры автоматического обновления и запускается служба автоматического обновления.
- _wuau.ini, файл настроек службы _wuau.exe ("WUAUServDispatcher"). Состав файла:
_wuau.ini[GENERAL]
NoAUShutdownOption=0
NoAUAsDefaultShutdownOption=0
ScheduledInstallDay=0
ScheduledInstallTime=11
UseWUServer=1
WUServer=http://server
WUStatusServer=http://server
RescheduleWaitTimeEnabled=1
RescheduleWaitTime=30
NoAutoRebootWithLoggedOnUsers=1
DetectionFrequencyEnabled=1
DetectionFrequency=1
AutoInstallMinorUpdates=1
RebootWarningTimeoutEnabled=1
RebootWarningTimeout=30
RebootRelaunchTimeoutEnabled=1
RebootRelaunchTimeout=30
ElevateNonAdmins=0
AUOption_Enable = 4
AUOption_Disable = 0 Две последние опции показывают, в какое состояние переключать Automatic Updates при соответственно отсутствии и присутствии пользователя. Расшифровку остальных параметров можно посмотреть в %windir%\system32\GroupPolicy\adm\wuau.adm
- _wuauinstall.exe, это инсталлятор, в одну папку с ним следует поместить _wuau.exe и _wuau.ini. При запуске останавливает и деинсталлирует (если она есть) службу _wuau.exe, затем удаляет %windir%\system32\_wuau.exe и %windir%\system32\_wuau.ini, затем копирует на их место те, что лежат в одной с ним папке, затем регистрирует и запускает _wuau.exe как сервис, который берет данные из файла %windir%\system32\_wuau.ini.
Для установки нужно а) Not Configured по всем параметрам групповых политик, касающимся автообновления б) принудительная заставка в групповых политиках (минут 5-10 в самый раз) в) настроить файл _wuau.ini согласно своим требованиям и г) запустить файл _wuauinstall.exe, для удаления - его же, но с ключом uninstall (_wuauinstall.exe uninstall)

3. Как работает служба.
- на старте служба пишет в ветки
SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update
SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
параметры из своего ini-файла, а параметр AUOption устанавливает равным AUOption_Disable.
- с интервалом в 15 секунд память проверяется. Если:
а) найден процесс update.exe, то детект прекращается, т.к. предполагается, что пошел процесс установки заплаток и вмешиваться в работу системы нельзя.
б) найден процесс .scr (или рабочая станция заблокирована) - выполняется запись в AUOptins значения параметра AUOption_Enable из конфигурационного файла и старт службы автоматического обновления после смены типа ее запуска на demand. При этом параметр NextDetectionTime ставится на 30 секунд после.
в) рабочая станция не заблокирована и нет процесса .scr, тогда wuauserv ставится в disabled, параметр AUOption ставится в то, что у вас прописано в ini для AUOption_Disable, wuauserv тормозится.

У меня работает на 45 машинах с пятницы, проблем нет (детект проходит, заплатки ставятся). Правда, все стало еще более плавным, чем с политиками...

Бинарники
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34569196
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде нарыл официальное решение проблемы:

http://support.microsoft.com/kb/916089/
http://support.microsoft.com/kb/927891/

со второй странички после проверки подлинности ОС можно скачать файлы:

WindowsXP-KB927891-v3-x86-ENU.exe - английская ХР
WindowsServer2003-KB927891-v5-x86-ENU.exe - английская 2003
WindowsXP-KB927891-v3-x86-RUS.exe - русская ХР
и т.д.

дело в версии библиотеки msi.dll, версия которой на клиенте зависит в т.ч. от версии установленного MS Office. С версией 3.1 этой библиотеки загрузка процессора по-прежнему достигает 100%, но при этом копьютер не виснет наглухо, а вполне себе отзывчив...
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34569231
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MZH кстати, это уже советовал: /topic/82677&pg=2#4041913
тогда показалось, что не работает, т.к. ЦП все равно грузился по-полной. Не хватило тогда догадки попробовать что-либо параллельно сделать :)
...
Рейтинг: 0 / 0
svchost.exe ?????????
    #34569238
MZH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(Преисполнился гордости за себя и жутко довольный уехал домой) :)
...
Рейтинг: 0 / 0
17 сообщений из 67, страница 3 из 3
Форумы / Windows [игнор отключен] [закрыт для гостей] / svchost.exe ?????????
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]