Я использую код, который нашел в stackoverflow, для запуска программы runas на Python:
импортировать подпроцесс как sp прога = sp.Popen( ['runas', '/user:"user@domain.com"', '/netonly', '"C:\foo\bar.bat"'], stdin=sp.PIPE ) ww = "p@ssw0rd".encode("utf-8") prog.stdin.write(ww) прог.коммуникация() Несколько замечаний перед проблемой:
[*]это не опасно, в рабочей среде я могу сохранить пароль в хранилище ключей и получить его при использовании. [*]мы не можем изменить метод авторизации, нам нужно подключиться к какому-то внешнему AD по... причинам
В cmd C:\foo\bar.bat запрашивает пароль и затем работает нормально:

Однако при использовании подпроцесса я продолжаю получать:
Введите пароль для «user@domain.com»: ОШИБКА RUNAS: невозможно получить пароль пользователя. Что я делаю не так? Я думаю, это ошибка новой строки/возврата или что-то в этом роде?
Мобильная версия