Я пытаюсь настроить набор папок на Windows NT server 2008 (да, я знаю, старый), где у пользователя нет доступа к списку файлов в папке, но он может читать файл, если им известен полный путь к файлу.
Итак, я установил следующие разрешения AD:
Permissions on the containing folder ("This folder only"):
Traverse folder / execute file
Read attributes
Read extended attributes
Read permissions
Permissions on the files ("Files only"):
Traverse folder / execute file
List folder / read data
Read attributes
Read extended attributes
Read permissions
... и windows все выглядит отлично! Я не вижу внутри папки, но если я знаю полный путь к файлу внутри, я могу ввести его в адресную строку и открыть файл.
Но когда я запускаю в командной строке:
COPY "FullPathToSameFileAsBefore.txt" "C:\someLocalSpot.txt"
... Я получаю:
Access is denied.
0 file(s) copied.
Есть идеи? Есть ли какая-то специальная командная строка для доступа, необходимая для выполнения копирования, которую windows не делает для чтения файла? Какие-нибудь альтернативы, которые будут работать вместо этого? Я могу установить любые необходимые разрешения с учетом предупреждения о том, что пользователь не может видеть список файлов в каталоге.
РЕДАКТИРОВАТЬ с дополнительной информацией:
Поэтому я попытался выполнить копию с помощью VBScript, используя FileSystemObject. Та же ошибка. Но использование VBScript для чтения файла с двоичным потоком ADODB работает .
Так что все сводится к «Вы можете прочитать этот файл, но не можете выполнить копирование. " Что кажется странным, поскольку, если вы можете прочитать файл, вы, безусловно, можете скопировать его (прочитать, а затем записать содержимое в другом месте).