Windows может получить доступ к файлу, копия файла DOS получает отказ в доступе - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь настроить набор папок на 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 работает .

Так что все сводится к «Вы можете прочитать этот файл, но не можете выполнить копирование. " Что кажется странным, поскольку, если вы можете прочитать файл, вы, безусловно, можете скопировать его (прочитать, а затем записать содержимое в другом месте).

...