определение имени пользователя по процессу
От: bignest Россия  
Дата: 26.09.04 09:38
Оценка:
Товарищи-господа, может кто знает ответ на след. вопрос?

Как имея полный набор прав под winNT определить имя пользователя, от которого запущен некоторый процесс?
например, имея идентификатор процесса или токен этого юзера.

определяет служба, запущенная от LocalSystem.

заранее благодарен
Re: определение имени пользователя по процессу
От: bignest Россия  
Дата: 29.09.04 07:03
Оценка:
Как всегда, отвечаю сам.

Имя текущего юзера берем из реестра HKLM/software/microsoft/windows nt/winlogon/DefaultUserName.
Также необходимо проверить, залогинен ли юзер вообще — например, по наличию процесса от его имени.

Схема работает, т.к. на целевых машинах не может сидеть больше одного юзера в один момент.

Вот так вот.

Всего!
Re[2]: определение имени пользователя по процессу
От: siberia Россия http://siberiaway.com
Дата: 15.11.04 09:40
Оценка:
B>Имя текущего юзера берем из реестра HKLM/software/microsoft/windows nt/winlogon/DefaultUserName.
B>Также необходимо проверить, залогинен ли юзер вообще — например, по наличию процесса от его имени.

B>Схема работает, т.к. на целевых машинах не может сидеть больше одного юзера в один момент.


одним юзером NT может обойтись только если у неё отрвать телевизор (да и то останется терминальный сервер). Первым всегда работает юзер SYSTEM.
приличный пользователь не работает с админскими правами, но запускает иногда через ярлычок административные утилиты (вот и ещё один юзер).

В твоём случае достаточно вызвать GetUserName(). Однако, обычный юзер, работая иногда в домене, а иногда — нет, тоже получит как бы два разных юзера (SID), возможно с одним именем. Права у этих пользователей будут разными.
Григорий Цуканов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.