Вы можете запустить приложение (или командную строку) в интерактивном режиме (как SYSTEM).См., Например, принятый ответ на этот вопрос .Как только приложение запускает интерактивный контекст, оно может напрямую открыть информацию о томе системы.
[Отредактировано для добавления пояснения:]
В Windows есть конечный пользователь, которому принадлежит ВСЕ?
Нет.Существует привилегия SeTakeOwnershipPrivilege, которая по умолчанию предоставляется администраторам (и неявно System), которая позволяет принимать права собственности на объекты.Владелец объекта всегда может изменить ACL, чтобы предоставить ему доступ.
Существует еще одна привилегия, SeBackupPrivilege, предоставленная администраторам и операторам резервного копирования (и, опять же, System).Он предназначен для чтения файлов для выполнения резервного копирования и обходит обычные операции чтения.Это эффективно разрешает доступ на чтение к любому файлу, минуя обычные ограничения контроля доступа.
Если да, то кто этот пользователь?
Нет такого пользователя.По умолчанию Windows предоставляет только SYSTEM доступ к C: \ System Volume Information с помощью ACL в этом каталоге.
Если это так, как мне запустить программу на C # от имени этого пользователя, чтобы я мог видеть всефайлы?
Вы можете запустить программу как SYSTEM специально для просмотра информации о томе системы (см. выше), хотя это не позволит вам обязательно просмотреть все файлы.Я думаю, что наличие привилегий оператора резервного копирования и проведение операций чтения с флагом резервного копирования - это единственный механизм для просмотра всех файлов независимо от разрешений.