Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как создать процесс от имени пользователя сделавшего Logon?(хр)

11K
15 августа 2006 года
dafirst
38 / / 05.07.2006
собственно сабж.
Загвоздка вот в чем...
Программа должна выполняться всегда от имени пользователя сделавшего логон, независимо от рабочего состояния машины...
То есть, прога должна создавать процесc/cы даже если пользователь сделал анлок.
Поясню, когда пользователь сделал анлок процессы создаются от имени SYSTEM, а не от имени залогинившегося юзверя...
Я сейчас использую функцию createprocess.

Так вот, как создать процесс от имени залогинившегося пользователя?
11K
15 августа 2006 года
dafirst
38 / / 05.07.2006
 
Код:
St.lpDesktop="Winsta0\\Default";
CreateProcessWithLogonW(NULL, "c:\\***.bat", NULL, NULL, false,CREATE_NEW_CONSOLE, NULL, NULL, &St, &Pr);


так вот, "Winsta0\\Default" для залоченной и незалоченной машины различны...
для залоченной машины имя юзера SYSTEM
для разлоченной ну например георгий
А необходимо чтобы процесс всегда создавался от георгия.
6.8K
15 августа 2006 года
Romikgy
84 / / 28.04.2005
не это
CreateProcessAsUser?
11K
15 августа 2006 года
dafirst
38 / / 05.07.2006
дело в том, что CreateProcessAsUser предпологает знание логина и пароля... а необходимо именно текущим юзверем, чтобы без пароля...
6.8K
15 августа 2006 года
Romikgy
84 / / 28.04.2005
А CreateProcess чем не подходит? имхо он запускает процесс от юзера залогинившегося
11K
15 августа 2006 года
dafirst
38 / / 05.07.2006
неа, в том то и дело... что когда комп залочен процесс запускается от учетной записи SYSTEM.. проверено и перепроверено...
весь иенет обыскал....(
реализации, я так понял дружественной та и вообще какой-либо другой пока не существует...(

может подскажет кто...
354
15 августа 2006 года
ШпиЁн
468 / / 19.02.2006
Э-э-э... а когда комп залочен, юзера никакого на компе нет(кроме SYSTEM), правильно? какой же тогда может быть "текущий пользователь"?

Можно создать самому(;-)) какого-нибудь "левого" пользователя, и в момент "залоченности" вызывать LogonUser, с параметром LOGON32_LOGON_INTERACTIVE...

Я другого выходу не вижу, наверное он есть все же ...
11K
15 августа 2006 года
dafirst
38 / / 05.07.2006
А можно ли как-то узнать логин и пароль пользователя который сделал анлок? И под которым остались работать приложения?
И с помощью этого логина и пароля создать новый процесс от этого самого логина... Если можно то как...?
Ну бог с ним если нельзя програмно узнать...логин и пароль, то хотя бы как запустить процесс от того же юзверя который сдела анлок, если все-таки пароль на вход в систему известен.?
Буду оччень признателен если есть какой-то рабочий код...
354
15 августа 2006 года
ШпиЁн
468 / / 19.02.2006
рабочего кода нет, но могу набросать за денек-другой нечто вполне удовлетворительное :о)

Еще раз - сервис, лочится комп, сервис при залоченном компе что-то запускает от имени какого-либо пользователя(главное чтобы не SYSTEM), я правильно понял? :-))
3
16 августа 2006 года
Green
4.8K / / 20.01.2000
А как ты запускал процесс на залоченной машине?
11K
16 августа 2006 года
dafirst
38 / / 05.07.2006
Цитата:

рабочего кода нет, но могу набросать за денек-другой нечто вполне удовлетворительное :о)

Еще раз - сервис, лочится комп, сервис при залоченном компе что-то запускает от имени какого-либо пользователя(главное чтобы не SYSTEM), я правильно понял? :-))



да, мне главное запустить процесс от имени пользователя сделавшего логон, т.е. при возможности не вводить ручками имя и пароль, ак как-то программно их попробывать найти и запустить проуцесс от ентого юзверя.

11K
16 августа 2006 года
dafirst
38 / / 05.07.2006
Цитата:
Green

А как ты запускал процесс на залоченной машине?


хорошо объясню все по порядку:
в реестре прописываю, что прианлоке!!! машины выполняется определенная длл.
Вроде бы как сreateprocess должен запускать процесс под текущим юзверем... так вот меня и удивило какого хрена в момент анлока процесс запускается от SYSTEM..((
отсюда вывод либо момент разлока это еще не георгий, а пока еще SYSTEM, либо длл запускается до разлока,
седня попробую еще "заснуть" создание процесса на определенное время после анлока машины может помогет...

3
16 августа 2006 года
Green
4.8K / / 20.01.2000
А где прописываешь в реестре?
11K
16 августа 2006 года
dafirst
38 / / 05.07.2006
[QUOTE=Green]А где прописываешь в реестре?[/QUOTE]
почитай ресурс
http://www.portalus.ru/modules/computers/special/xaker/xa081/118/3.htm
11K
16 августа 2006 года
dafirst
38 / / 05.07.2006
только вместо logon'a - unlock
и вот такие пироги(((
354
18 августа 2006 года
ШпиЁн
468 / / 19.02.2006
Вот примерчик.
Так же как и ты я использвал winlogon notificaton packages.

Скинь wnp.dll на диск C:, далее запусти run_me.reg - он внесет данные в реестр. Перезагрузи машину. Теперь wnp.dll загружена в winlogon, нажми Win+L, теперь надо подождать пока системный динамик бибикнет - значит процесс уже запущен. сними блокировку и посмотри в диспетчере задач - notepad должен выполняться под твоим аккаунтом :-)))))

Note: Модифицировать эту ветку реестра может только админ, поэтому тестируй программку под админом:-)))

P.S. Скажешь как получилось:-)))
11K
18 августа 2006 года
dafirst
38 / / 05.07.2006
Цитата:

ШпиЁн

Вот примерчик.
Так же как и ты я использвал winlogon notificaton packages.
Скинь wnp.dll на диск C:, далее запусти run_me.reg - он внесет данные в реестр. Перезагрузи машину. Теперь wnp.dll загружена в winlogon, нажми Win+L, теперь надо подождать пока системный динамик бибикнет - значит процесс уже запущен. сними блокировку и посмотри в диспетчере задач - notepad должен выполняться под твоим аккаунтом :-)))))
Note: Модифицировать эту ветку реестра может только админ, поэтому тестируй программку под админом:-)))
P.S. Скажешь как получилось:-)))



Спасибки большое... когда проверю, сразу же отпишусь...)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог