返回列表 发帖

回复 2楼 的帖子

以前用Exec执行cmd.exe,发现只有一个黑框,以为不能执行,原来是通过标准输入读入命令。

TOP

exec的应用

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"COPY
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的结果会在控制台输出,不会弹出对话框。COPY
2

评分人数

命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表