Re: Получить аккаунт процесса, исполняемого на удаленной сис
От: Аноним  
Дата: 30.07.09 10:29
Оценка:
Здравствуйте, Бабуин, Вы писали:

Б>использован вызов WTSEnumerateProcesses, получен SID — но LookupAccountSid

Б>не идентифицирует аккаунт, сообщая об ошибке 1332.
Б>Попытки вытащить данные из сессии через WTSQuerySessionInformation — безуспешны,
Б>соответствующие позиции(домен, логин) возвращаемой структуры данных пусты.
Б>Отображаются только имена локальных аккаунтов(SYSTEM, WETWORK SERVICE)
Б>Приложение выполняется с полномочиями сисадмина, вызов tasklist /S <host>
Б>с этими полномочиями отрабатывает успешно, отображая аккаунты процессов.
Б>О каких нюансах я не ведаю? Есть какие-то особенности? или вообще — иные
Б>способы получить такие данные?

Хм, ошибка 1332 вроде как однозначно говорит, что в доступных Вашему провайдеру безопасности базах такой сид не числится. А SYSTEM, WETWORK SERVICE, они на любой системе одинаковы, потому как well-known. В связи с чем несколько глупых вопросов, если не возражаете
Имя системы при вызове LookupAccountSid указано верно? Сам полученный SID на вид как, нормальный? Можете его сравнить с реальным SID того пользователя, от которого работает целевое приложение? Может это вообще не доменный пользователь, может её под локальным запустили? Сисадмин, от которого запускаете своё приложение, он доменный?

Ещё можно ApiMon'ом посмотреть, что tasklist дёргает. По крайней мере, wbemXXX либы она загружает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.