在VB脚本中使用“runas”执行批处理文件

问题描述

使用“vb 脚本”并且在该脚本中的特定点需要使用不同的帐户运行“批处理文件”,因此我在 vbscript 中使用 runas,它将传递批处理文件用户名密码以执行. 问题是当我在 vbscript 中使用 runas 时,如果指定它所在的批处理文件的路径,那么它就可以工作。我需要将此批处理文件的位置作为变量传递给 runas 来执行,这可能吗?如果我将此批处理文件保存在 system32 文件夹中,则 vbscript 中的 runas 仅通过提及批处理文件名来执行批处理文件,因为 runas 认打开到位置 system32 文件夹。

这些脚本包括 vb 和批处理都可以在 PC 上的位置,所以我们的想法是获取当前工作目录,然后将批处理文件的该位置传递给一个变量,然后将其提供给 runas 命令执行..有可能吗?

我试过了,但没有效果..

objShell.Run "runas /user:domain\user & strPath"

尝试通过 & strPath 传递批处理文件名和路径,如果我提到 objShell.Run "runas /user:domain\user c:\temp\mybatch.bat" 或者即使批处理文件保留在system32文件

请推荐

Option explicit
dim objShell
Set objShell = CreateObject("Wscript.Shell")
strPath = objShell.CurrentDirectory
'Appending the batch file name to path
strPath = strPath &  "\mybatch.bat"
Wscript.Echo "batch file path is " & strPath
objShell.Run  "runas /user:domain\user & strPath"
WScript.Sleep 100
objShell.Sendkeys "Password~"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)