Как добавить пароль в командный файл для автоматической аутентификации?

13

Я пытаюсь запустить xcopyкоманды в командном файле от имени администратора. Это правильная команда и как я могу передать пароль в нее?

runas /noprofile /user:Domain Name\user account
Джо
источник

Ответы:

14

Для автоматической аутентификации добавьте /savecredфлаг. Вам нужно будет ввести пароль при первом запуске скрипта, но после этого он будет сохранен.

Поймите, что runasтогда сможете использовать сохраненные учетные данные для выполнения любой данной программы , поэтому подумайте, как это может быть проблемой безопасности, прежде чем идти по этому пути.

Ваше использование корректно, просто добавьте путь к программе в конце.

runas /noprofile /user:joe@example.com /savecred script.bat
или
runas /noprofile /user:joe-pc\joe /savecred script.bat

Чтобы удалить сохраненные учетные данные, выполните поиск диспетчера учетных данных в панели управления.

Луи Ваверу
источник
4

Команда runasдолжна запросить учетные данные при запуске командного файла для выполнения указанной команды. Пока вы запускаете его в cmd.exe . Это связано с необходимостью стандартного ввода, запрашивающего пароль. Вы не можете просто дважды щелкнуть по нему. Хранение пароля в виде открытого текста в командном файле - плохая идея, потому что это небезопасно . Вот почему это подсказывает во время выполнения.

Вы можете щелкнуть правой кнопкой мыши по исполняемому файлу и щелкнуть Run as Administratorбез runasкоманды. Это, вероятно, решение, которое вы ищете.

Если вы хотите запустить задачу как запланированную задачу, вы можете настроить ее на запуск от имени другого пользователя.

BrenanK
источник
Я понимаю, что хранить пароль в простом текстовом формате было бы небезопасно, но есть ли способ для его автоматической аутентификации?
Джо
Лучший способ - щелкнуть правой кнопкой мыши исполняемый файл & Run as Administratorили установить задачу для запуска от имени определенного пользователя в качестве запланированной задачи. Любая другая опция, которая аутентифицируется как администратор, может привести к серьезным угрозам безопасности. Похоже, что окна не имеют этой возможности. Если вам нужна дополнительная информация по этому вопросу, см. Setuid для windows . setuidиспользуется в средах Unix, чтобы позволить пользователю без прав администратора запускать программу от имени пользователя root (admin). Используемая программа setuidдолжна быть очень тщательно закодирована, чтобы не создавать уязвимостей.
BrenanK
Просто чтобы быть понятным, setuidможно настроить для принятия привилегий других пользователей, а также root в системе Unix.
BrenanK 19.12.12
1

Вы можете использовать RunAs, когда вызываете пакетный файл (щелкните правой кнопкой мыши по пакетному файлу и выберите runas), чтобы запустить пакет как администратор. Я подозреваю, что runas не будет работать внутри пакета. Я бы рекомендовал НЕ помещать пароль в командный файл, даже если он работал, командные файлы представляют собой обычный текст, поэтому вы также можете поместить пароль в заметку на мониторе.

BillN
источник