Я работал с C #, в частности с фреймворком (структурами) UWP / WPF, редактируя некоторые из подкаталогов C:\\ProgramData\\Microsoft\\Windows\\SystemData
с целью редактирования и удаления изображений экрана блокировки, хранящихся в C:\\ProgramData\\Microsoft\\Windows\\SystemData\\ID\\ReadOnly
.
Первоначально я только что вручную изменил разрешения для каталога ProgramData
, а затем для каталога SystemData
, однако всякий раз, когда система изменяет файлы в каталоге SystemData
, его разрешения сбрасываются.(Я хочу, чтобы конечный продукт моей программы планировалось периодически запускать, поэтому я не смог бы делать это каждый раз вручную.) Просто позвонив: Directory.GetAccessControl("C:\\ProgramData\\Microsoft\\Windows\\SystemData");
yields System.UnauthorizedAccessException: 'Attempted to perform an unauthorized operation.'
.
Значение по умолчаниюПрава доступа к каталогу не позволяют мне даже читать атрибуты каталога или получать доступ к его файлам, не изменяя его права администратора.Так как я могу сделать это вручную (чтобы отредактировать разрешения, чтобы получить полный контроль), я предполагаю, что есть какой-то способ сделать это в C #.Мой app.manifest
имеет requireAdministrator
в качестве requestedExecutionLevel
, и в настоящее время я не использую олицетворение, а текущий WindowsIdentity
отображается как LAPTOP-ID\\USERNAME
.
Как я могу выполнить эти изменения, когда ядаже не могу получить контроль доступа к каталогу, который мне нужен для редактирования прав доступа?