Не удается запустить пакетный файл из команды runas

Я пытаюсь открыть файл с помощью команды runas из cmd.

Мне это удается, когда я запускаю его так:

file.bat

или вот так:

start file.bat

но когда я бегу:

runas /user:username file.bat

файл открывается, но тут же закрывается (ввожу правильный пароль). Я точно знаю, что ввожу правильный пароль и что командный файл открывается и закрывается без выполнения его содержимого.

Любая помощь, пожалуйста?


person pinogun    schedule 01.03.2016    source источник


Ответы (3)


Я не знаю, как заставить команду runas работать в том же окне. Но хитрость заключается в том, чтобы создать окно cmd самостоятельно с помощью переключателя /k, чтобы предотвратить его закрытие после завершения:

runas /user:username "cmd /k {fullpath}\file.bat"

Обратите внимание, что вам нужен полный путь к файлу, потому что новое окно открывается в вашем пользовательском каталоге.

Или вы просто помещаете pause в конец файла .bat вместо того, чтобы делать вышеописанное.

person Quantic    schedule 01.03.2016

Вместо этого используйте PsExec (пакет MS SysInternals). Гораздо лучше и безопаснее (используется пароль).

psexec -user Administrator -p Passwd "xcopy file.bat {полный путь}\file.bat"

person Malbordio    schedule 01.03.2016

Вместо этого используйте PsExec (пакет MS SysInternals). Гораздо лучше и безопаснее (используется пароль >).

psexec -user Administrator -p Passwd "xcopy file.bat {полный путь}\file.bat"

Спасибо! но я ищу решение, которое будет работать переносимо, без установки...

Я не знаю, как заставить команду runas работать в том же окне. Но хитрость заключается в том, чтобы создать окно cmd самостоятельно с помощью переключателя /k, чтобы предотвратить его закрытие после завершения:

runas /user:имя пользователя "cmd /k {полный путь}\file.bat"

Обратите внимание, что вам нужен полный путь к файлу, потому что новое окно открывается в вашем пользовательском каталоге.

Или вы просто ставите паузу в конце файла .bat вместо того, чтобы делать вышеописанное.

Я поместил команду паузы в свой пакетный файл, но перед этим произошла ошибка, поэтому файл завершился. Большое спасибо!

person pinogun    schedule 02.03.2016