Как использовать C #, чтобы определить, какая учетная запись изменила файл в общей папке - PullRequest
0 голосов
/ 18 августа 2011

Я пытаюсь определить, какая учетная запись пользователя используется для изменения файлов в общей папке с использованием C #.

Это нормально, если программа работает на компьютере с общей папкой.

Ответы [ 2 ]

0 голосов
/ 18 августа 2011

Есть две опции, которые я могу придумать, чтобы определить, какая учетная запись изменила файл:

  1. Аудит: если вы включите аудит (с помощью локальной политики безопасности), вы можете настроить общую папку для аудита успешного доступа при записи. Это скажет вам, какие пользователи открывали файлы для доступа на запись, а не те, кто фактически выполнял запись. Затем с любого компьютера вы можете отслеживать журнал безопасности на компьютере с общей папкой и видеть, какие пользователи имели доступ на запись к этим файлам.

  2. Мониторинг процесса. Вы можете запустить ProcMon на компьютере с общими папками и записать его журнал в файл. Затем вы можете периодически проверять журнал на предмет реальных записей в ваши файлы. Обратите внимание, что это скажет вам, какой процесс выполнял запись и под каким пользователем этот процесс выполнялся, но не обязательно под каким пользователем этот процесс выдавал себя за роль.

  3. Комбинация: для того чтобы узнать, какой пользователь выполнил фактические записи, вам, возможно, придется объединить журналы аудита и журналы мониторинга процессов, чтобы увидеть, какого пользователя олицетворял поток записи во время записи. 1016 *

0 голосов
/ 18 августа 2011

Вы должны создать Windows Service, который содержит FileSystemWatcher.Отсюда вы можете определить, какой пользователь изменил файл, вызвавший событие OnChanged

watcher.Changed += new FileSystemEventHandler(OnChanged);

private static void OnChanged(object source, FileSystemEventArgs e)
{
    // Specify what is done when a file is changed, created, or deleted.
    Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType);
}

FileSystemWatcher

Прослушивает уведомления об изменениях файловой системы и вызывает события при изменении каталога или файла в каталоге.

...