FileSystemWatcher превышает разрешения файловой системы

Экспериментируя с FileSystemWatcher, я обнаружил, что он каким-то образом превосходит разрешения моей учетной записи на файлы и папки и вызывает события изменения с информацией о том, что изменилось в файлах и папках, к которым у вас даже нет доступа.

У меня есть два вопроса по этому поводу:

1) Почему это происходит?
2) Это проблема конфигурации AD? как мне это исправить?
3) Есть ли способ собрать эти файлы или даже создать для них FileSystemInfo, чтобы получить дополнительную информацию о файлах (а не только о внесенных в них изменениях)?

Насколько я пытался, только FileSystemWatcher невосприимчив к ограничениям, я не могу запускать другие вещи поверх него, вот список того, что я пробовал:

  • File.Exists
  • Directory .Exists
  • Экземпляр FileInfo в найденных файлах
  • Экземпляр DirectoryInfo в найденных файлах
  • File.Copy
  • File.Delete

Обновление : Пробовал решение helge, в чем-то похожее на то, что он предлагал, не через api Windows, а через командную строку:

robocopy / B \ myserver \ folder c: \ somefolder

Лучшее имя команды когда-либо.

Вы можете проверить с помощью robocopy, что / B означает «режим резервного копирования», что, по мнению helge, могло бы стать причиной превышения этой защиты.

Я попробую что угодно, я хочу выяснить, что именно заставляет FileSystemWatcher просматривать папки, на открытие которых у меня нет разрешения. Зная почему, я хочу узнать как блокировать FileSystemWatcher, так и как собирать найденные файлы.

Я бы сделал опрос, если бы был со своим личным аккаунтом. Пожалуйста, кто-нибудь может мне помочь? Я напишу сообщение в блоге о решении, среди прочего, которое может помочь любому, у кого есть такие же сомнения, в будущем.

7
задан Helge Klein 11 February 2011 в 21:40
поделиться