1、Runas自动输入密码
可能是设计时为安全考虑,runas不接收管道传递或从文件重定向得到,输入密码必须手动输入,这个问题困扰了不少人,却又难以解决,用Sendkeys也不一定稳妥。
如果用exec方法,就能轻松做到自动输入。- Set ws = CreateObject("WScript.Shell")
- Set oExec = ws.Exec("cmd.exe")
- oexec.StdIn.WriteLine "runas /user:username setup.bat"
- oexec.StdIn.WriteLine "password"
复制代码 2、exec与run的结合使用
exec方法无法隐藏窗口,要得到命令行程序的输出,就会有一个黑呼呼的窗口一闪而过,不仅难看,还会让其他使用者误以为是木马什么的,很不完美。如何解决这个问题呢?就让exec与run合作吧!- Set ws = CreateObject("WScript.Shell")
- host = WScript.FullName
- if LCase( right(host, len(host)-InStrRev(host,"\")) ) = "wscript.exe" then
- ws.run "cscript """ & WScript.ScriptFullName & chr(34), 0
- WScript.Quit
- end if
- set oexec = ws.Exec( "ipconfig")
- Msgbox oExec.StdOut.ReadAll, , "ipconfig"
- ' 此时不要用WScript.Echo,因为当前是在控制台运行,WScript.Echo的结果会在控制台输出,不会弹出对话框。
复制代码
|