Невозможно обновить атрибуты файла: доступ запрещен - PullRequest
1 голос
/ 05 февраля 2012

Следующий код, запускаемый от имени администратора с локального жесткого диска с использованием .Net Framework 2.0, иногда вызывает UnauthorizedAccessException во второй строке:

IO.File.SetAttributes(File, IO.FileAttributes.Normal)
IO.File.SetAttributes(File, IO.FileAttributes.Archive)

Это происходит на сетевом диске.Неисправные файлы имеют странные разрешения (см. Конец поста), хотя чтение и запись работают отлично.

Хуже того, даже из Проводника попытка изменить разрешения не удалась, сначала запрашивая права администратора, а затем все равно провалилась:*

Access denied, requiring admin rights Failing anyway

Есть идеи?Я в полной растерянности.


Вот скриншот прав доступа к файлам: Этот работает:

Authorized access

Этот не делает:

Unauthorized access

1 Ответ

2 голосов
/ 05 февраля 2012

Я совсем немного знаю французский (это правильный язык?), Но похоже, что первый работает, потому что вы пользователь на стороне сервера (пользователь Linux).При работе с сетевыми дисками у вас должны быть разрешения на сервере для изменения атрибутов файла.В противном случае его необходимо будет изменить на стороне сервера.

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

Edit2: также возможно, что он также может быть связан на стороне сервера путем индексации и послеЧерез несколько минут вы получите обратно.

...