Доступ к защищенным паролем файлам Windows на python

#php #python #powershell #password-protection

#php #python #powershell #защита паролем

Вопрос:

Я пытаюсь получить доступ к файлу, защищенному пользователем / паролем, на удаленном компьютере с Windows на python. Как мне это сделать? Это кажется простой проблемой, но я некоторое время искал в Google, но безрезультатно.

Подробные сведения:

У меня есть веб-сервер IIS, работающий с компьютера под управлением Windows 8. Я хочу иметь кнопку, которая вызывает скрипт, который переходит в некоторые защищенные паролем файлы на этом компьютере. Итак, когда кнопка нажата, у меня есть следующий php, который вызывает python на ActiveChannelScraper.py в папке scripts и передает все данные оболочки в браузер:

 $runCMD = 'C:Anacondapython scriptsActiveChannelScraper.py';
$output= shell_exec($runCMD . "2>amp;1");
echo( '<pre>' );
echo( $output );
echo( '</pre>' );
  

Все тестовые инструкции печати печатаются вплоть до строки os.listdir(p) , на которой программа явно перестает работать, потому что после этого я не получаю никаких инструкций печати. Что имеет смысл, потому что он не может перечислять файлы в p, потому что p защищен паролем.

Я сделал Set-ExecutionPolicy Unrestricted -Scope CurrentUser это в Powershell на компьютере с сервером.

В моем скрипте на Python я попробовал использовать net:

os.system("net use /user:" USER " " p " " PASS)

Но это выдает мне сообщение об ошибке

 System error 86 has occurred.

The specified network password is not correct.
  

Я попробовал это на своем собственном компьютере с моим собственным именем пользователя и паролем, и это дало The command completed successfully. мне возможность дважды проверить имя пользователя и пароль, они определенно верны.

Комментарии:

1. К каким типам файлов применялись пароли? Защита паролем добавляется приложением, а не Windows. Возможно, вы имеете в виду, что вам нужно получить доступ к другому профилю пользователя на другом компьютере?

2. Это блокировка паролем общего доступа к файлам Windows.

Ответ №1:

Системная ошибка 86: если вы уверены, что пароль правильный, это означает, что вы ввели имя пользователя без домена. Это должно быть /user:remotecomputernameUsername или /user:remoteIPaddressUsername, если у вас нет домена. И не используйте букву «p» перед паролем:

net use \ 192.168.0.2 mysecretpassword /USER:192.168.0.2 Имя пользователя