none
Определить, с какого из ПК на сетевом диске произошли изменения RRS feed

  • Вопрос

  • Всем привет. Написал программу на основе filesystemwatcher, которая следить за изменениями. В офисе сеть компов, есть сетевой диск, надо отследить какой именно комп добавил или удалил файл в этот сетевой диск. Программа эта установлена на один комп, куда я добавил путь к этому диске. Все работает, все регистрирует, но от имени того компа где лежит эта прога. А мне надо имя кто компа кто удалил. Как сделать? На все компы это писать не хочу. Как узнать имя компа, который в последний раз использовал/изменял этот файл?
    18 октября 2012 г. 8:07

Ответы

  • немного запутался в основной задаче

    Как я понял у вас есть СВОЕ хранилище и есть клиенты, которые по ним лазят. Клиенты написаны Вами. Вы же можете изменить программу клиента так чтобы велся лог на каждом клиенте (хоть в текстовый файл локально пишите)?Согласен, что способ "тупой" но легок в исполнении найти нерадивого. Можно чтобы клиенты вообще не могли ничего стереть, а обращались к сервису который стирал и вел протокол.

    Если Вы используете стандартную файловую систему и просто хотите ее мониторить, то важны моменты: если задача найти нерадивого то можно просто использовать уже существующую программу на подобии NeoSpy Pro (http://ru.neospy.net/).

    Если у Вас есть контроллер домена то настройка политики аудита спасет http://www.mkgt.ru/files/material-static/552/tema2/chap06/p3_04.htm

    http://how-it.ru/public/root/236-vklyuchaem_audit_dostupa_k_failam_v_windows__logi_sozdaniya__izmeneniya_i_udaleniya_failov_.html

    Если же вы делаете свой проект и не хотите использовать существующие - то это совсем другое дело. Может это вам прояснит ситуацию...

    http://x64blog.name/1307202701

    Отступление:

    (помню в MSDOS мы прерывания перехватывали :)))... вот были времена, )) в  Windows такой задачи уже не нужно было решать  :(











    • Изменено Andrey Filatov 22 октября 2012 г. 16:11
    • Изменено Abolmasov Dmitry 25 октября 2012 г. 10:01 ссылка на NeoSpy
    • Помечено в качестве ответа Abolmasov Dmitry 25 октября 2012 г. 10:02
    22 октября 2012 г. 15:47

Все ответы

  • Привет.

    Судя из обсуждения Programmatically determine user who last modified file on Windows? вам скорее всего придется настраивать аудит этой папки/файла и после читать данные уже из EventLog. Посмотрите также еще и How to determine who changed a file?

    Надеюсь эти данные вам помогут в решении проблемы.


    Для связи [mail]

    19 октября 2012 г. 8:20
  • Вот пример того, как можно отслеживать пользователя путешествующего по папкам

    19 октября 2012 г. 9:10
    Отвечающий
  • а почему вы программу свою просто не заставите писать в log?
    20 октября 2012 г. 19:21
  • Пожалуйста, не бросайте топик без ответа. Спасибо.

    Для связи [mail]

    22 октября 2012 г. 6:43
  • Привет.

    Судя из обсуждения Programmatically determine user who last modified file on Windows? вам скорее всего придется настраивать аудит этой папки/файла и после читать данные уже из EventLog. Посмотрите также еще и How to determine who changed a file?

    Надеюсь эти данные вам помогут в решении проблемы.


    Для связи [mail]

    сделал аудит папок, но в логах не пишет какой файл удален, или какой файл создан (имя).
    22 октября 2012 г. 8:01
  • а почему вы программу свою просто не заставите писать в log?
    и как же?? как она будет писать в лог, какой из компов в сети удалил или создал файл в определенной папке?
    22 октября 2012 г. 8:02
  • немного запутался в основной задаче

    Как я понял у вас есть СВОЕ хранилище и есть клиенты, которые по ним лазят. Клиенты написаны Вами. Вы же можете изменить программу клиента так чтобы велся лог на каждом клиенте (хоть в текстовый файл локально пишите)?Согласен, что способ "тупой" но легок в исполнении найти нерадивого. Можно чтобы клиенты вообще не могли ничего стереть, а обращались к сервису который стирал и вел протокол.

    Если Вы используете стандартную файловую систему и просто хотите ее мониторить, то важны моменты: если задача найти нерадивого то можно просто использовать уже существующую программу на подобии NeoSpy Pro (http://ru.neospy.net/).

    Если у Вас есть контроллер домена то настройка политики аудита спасет http://www.mkgt.ru/files/material-static/552/tema2/chap06/p3_04.htm

    http://how-it.ru/public/root/236-vklyuchaem_audit_dostupa_k_failam_v_windows__logi_sozdaniya__izmeneniya_i_udaleniya_failov_.html

    Если же вы делаете свой проект и не хотите использовать существующие - то это совсем другое дело. Может это вам прояснит ситуацию...

    http://x64blog.name/1307202701

    Отступление:

    (помню в MSDOS мы прерывания перехватывали :)))... вот были времена, )) в  Windows такой задачи уже не нужно было решать  :(











    • Изменено Andrey Filatov 22 октября 2012 г. 16:11
    • Изменено Abolmasov Dmitry 25 октября 2012 г. 10:01 ссылка на NeoSpy
    • Помечено в качестве ответа Abolmasov Dmitry 25 октября 2012 г. 10:02
    22 октября 2012 г. 15:47
  • Привет, как успехи? топик еще актуальный?

    24 октября 2012 г. 7:52
  • думаю решить эту проблему вот так: программа у меня находится в общим сетевом диске. При клике он запускается, но не видим для пользователя. Сканирую сеть и вывожу компы которые подключены. Программа проверяет, запушена ли там моя прога, которая пишет логи. если нет, то запускает его удаленна. Вопрос:

    1. Как удаленно запустить программу (сеть рабочая группа) ?

    2. И как проверить, запушена ли прога, если нет, то запустит?

    Важнее ответ на первый вопрос. Как запустить приложение на другом компе, который находится в одной сети

    6 ноября 2012 г. 19:09