Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.04.04;
Скачать: CL | DM;

Вниз

NetFileEnum   Найти похожие ветки 

 
multiflex   (2008-07-13 14:32) [0]

Всем приятного времени. Сабж дает мне инфу о имени пользователя (fi3_username, получившего доступ к файлу в структуре _FILE_INFO_3, а также уникальный идентификатор открытого ресурса (fi3_id), а необходимо узнать, какому компьютеру принадлежит этот пользователь. Я конечно могу перечислить сессии через NetSessionEnum, но фактически имя пользователя не всегда однозначно совпадает с именем компьютера и может быть одинаковым. Подскажите пожалуйста как определить соответствие, либо возможно есть какие либо другие апи?? Спасибо.

ЗЫ. В догонку: на открытие файла из шары можно чтонибудь вроде хука поставить, или события подождать, или придется постоянный опрос производить???


 
multiflex   (2008-07-14 06:13) [1]

Жаль что никто так и не смог помочь, спасибо, буду искать помощи в другом месте, может и найду.


 
alexm_hs_   (2008-07-14 20:52) [2]

1. Что-то не совсем понятно, почему вас не устраивает предложенный же вами способ. Вообще-то так и надо делать. Получаете список через NetSessionEnum. Там есть имя пользователя и имя компьютера. Потом получаете список через NetFileEnum. Там есть имя пользователя. Вот по нему и осуществляете связку двух списков. Один нюанс непростой. Иногда бывает что два юзера с одним именем с разных компьютеров начинают открывать файл. Вот тут, что бы не приписать юзерам "лишних" доступов, необходимо использовать информацию из первого списка о времени бездействия и кол-ве открытых ресурсов. В части случаев удавалось разделить "зерна от плевел". Но в части все ж одному из юзеров приписывались лишние открытые файлы. Пробуйте.

2. Хук не получится. Придется в таймере делать вызов. Советую только до таймера инициализировать эти апишные функции и потом с ними работать. Что б загрузку модуля netapi32.dll часто не производить.


 
multiflex   (2008-07-15 11:09) [3]

Все верно, реализовано именно так, но просто хотелось улучшить все это дело просто, вариант то хороший, но когда подключается 3 компа с "администраторами" то обнаружить открытие какого либо файла конкретно тем или иным пользователем нереально. Не сподобились мелкомягкие нормальную библиотеку сделать =( Либо всетаки гдето чтото есть но сие тайна велика.


 
alexm_hs_   (2008-07-15 19:54) [4]

Посмотрите на пару-тройку программ в сети, отслеживающих подключения. У всех одна и та же "болезнь" с подключениями с одного пользователя. Других средств у МС видно нет. Иначе увидели бы реализацию в составе ОС. В МСДН тоже только этот способ описан. Думаю, если был бы другой - его бы описали. Вещь не такая уж и незначительная, что б ее можно было не задокументировать.


 
multiflex   (2008-07-16 13:19) [5]

Ага, волен согласиться, везде такая вот чушь =( Ну хорошо, что есть - то есть, куда деваться. Будем эвристикой заниматься - кто когда где и во сколько, тот наверно и тот а не этот...



Страницы: 1 вся ветка

Текущий архив: 2010.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
3-1222293772
ЮЮ
2008-09-25 02:02
2010.04.04
MS SQL. inserted и deleted таблицы в InstedOfUpdate триггере


2-1264852724
helluvaname
2010-01-30 14:58
2010.04.04
ADOTable.InsertRecord+autoincr field


15-1263472832
DeadMeat
2010-01-14 15:40
2010.04.04
Перехват информации


4-1231656577
inferno
2009-01-11 09:49
2010.04.04
Не передавать сообщение мыши


15-1263245425
Юрий
2010-01-12 00:30
2010.04.04
С днем рождения ! 12 января 2010 вторник