2014-04-04 57 views
5

我试图让一个批处理文件自动输入密码到“runas”程序,但我无法让它工作。这里是我的批处理文件到目前为止:从批处理文件自动响应runas

echo password | runas /user:testuser c:/path/to/my/program.exe 

但是,我收到一个错误,说“未知的用户名或密码错误”。我也试过:

runas /user:testuser c:/path/to/my/program.exe < c:/path/to/file/containing/password.txt 

这回来了同样的错误。有没有人知道一种方法来做到这一点?我最终想做的是让批处理文件从配置文件中读取用户名和密码,然后以该用户身份启动“program.exe”。

回答

8

下面的Batch-JScript混合脚本根据需要进行操作。用.bat扩展名保存。

@if (@CodeSection == @Batch) @then 
@echo off 
start "" runas /user:testuser c:/path/to/my/program.exe 
CScript //nologo //E:JScript "%~F0" 
goto :EOF 
@end 
WScript.CreateObject("WScript.Shell").SendKeys("password{ENTER}"); 

有关进一步详情,请参阅this post

+0

谢谢!我通过从批处理文件创建一个.vbs脚本来实现一些工作,但这也起作用,并且更加灵活! – user1578653