Доступ к каждому файлу в файловой системе (независимо от того, что) В Windows 7 - PullRequest
2 голосов
/ 07 мая 2010

В c # на компьютере с Windows 7, как я могу программно получить доступ к каждому файлу в файловой системе, как если бы я был «Главным администратором».

Основным приоритетом здесь является то, что после установки моей программы на c # у нее не будет проблем с правами доступа к файлам / папкам. Моя программа работает как служба Windows, и она должна позволять пользователю создавать резервные копии любых файлов в файловой системе.

Ответы [ 3 ]

5 голосов
/ 07 мая 2010

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

Цитата со страницы поддержки MS:

SID: S-1-5-32-551 Имя: Операторы резервного копирования Описание: встроенная группа. По умолчанию в группе нет участников. Операторы резервного копирования могут выполнять резервное копирование и восстановление всех файлов на компьютере независимо от разрешений, которые защищают эти файлы. Операторы резервного копирования также могут войти на компьютер и выключить его.

Хотя эта страница предназначена для более ранних версий Windows, поэтому я не уверен на 100%, что она не была изменена.

3 голосов
/ 07 мая 2010

Существует Win32 API резервного копирования , который, скорее всего, вам нужен, возможно, в сочетании с Volume Shadow Service . И ваше приложение должно иметь привилегию SeBackupPrivilege . Обратите внимание, что файлы, зашифрованные с помощью EFS, могут быть прочитаны, но только в зашифрованном виде.

Ссылки, которые также могут быть вам интересны:

http://mutable.net/blog/archive/2006/11/21/an-intelligent-backup-system-for-windows-part-3.aspx

http://msdn.microsoft.com/en-us/library/aa362520(v=VS.85).aspx

2 голосов
/ 07 мая 2010

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

AFAIK стандарт «Локальная система» уже имеет довольно высокие привилегии. Но несмотря ни на что, вы не сможете получить доступ к файлам, зарезервированным для системной учетной записи, или файлам, которые используются исключительно. Ваша программа всегда должна иметь возможность обрабатывать исключения, связанные с Access.

...