通过VBS脚本无交互执行RUNAS命令

日常管理中,为了防止用户有意无意地更改电脑设置或安装软件,终端上会将用户的权限设置为Users。但是,在Users权限下,无法使用向日葵等远程协助工具(即便可以使用,权限也与用户相同)。

在Windows系统中,提供了一个runas命令,可以用特定的用户(如:管理员)身份运行程序。

但runas有一个问题,就是用户的密码无法作为命令的参数带入执行,只能在runas命令执行后,按提示输入密码。

经过上网查找资料,发现可以通过vbs编写一个脚本,代替人工输入密码。

dim WshShell,cmd
cmd = "%SystemRoot%\system32\cmd.exe"
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run cmd
WScript.Sleep 500
WshShell.SendKeys "runas /user:TEST " & chr(34) & "{%}cd{%}\SunloginClient_11.1.1.38222_x64.exe" & chr(34)
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "t"
WScript.Sleep 100  '暂停100毫秒
WshShell.SendKeys "e"
WScript.Sleep 100
WshShell.SendKeys "s"
WScript.Sleep 100
WshShell.SendKeys "t"
WScript.Sleep 200
WshShell.SendKeys "{ENTER}"
'WScript.Sleep 500
'WshShell.SendKeys "exit"
'WshShell.SendKeys "{ENTER}"
set WshShell = nothing

在实际测试中发现,runas需要交互输入密码的时候,不能使用字符串将密码一次性输入,否则可能会造成密码输入不完整,导致认证失败。建议是在输入密码的每个字符之间,暂停100毫秒(保守值,再短的间歇笔者没有测试)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值