1

我正在尝试使用我的域帐户通过 VBS 脚本启动 HTA(并让它提示我

脚本和 hta 将位于闪存驱动器上的同一目录中,因此代码必须指向脚本的当前目录。

下面的代码当前从脚本目录启动 hta,但我无法传递用户名(例如域/用户名)以作为另一个用户启动 hta

Set objShell = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
strPath = FSO.GetParentFolderName (WScript.ScriptFullName)
If FSO.FileExists(strPath & "\main.HTA") Then
     objShell.ShellExecute "mshta", Chr(34) & strPath & "\main.HTA" & Chr(34), "", "runas", 1
Else
     MsgBox "Error - HTA was not found"
End If

如何将用户名(和/或密码)保存为变量并将其传递给脚本的 runas 部分以使用不同的用户凭据启动 HTA?

编辑:

这是我正在尝试做的批处理文件:

runas /user:domain\username "c:\windows\system32\mshta.exe \"\main.hta\
4

1 回答 1

1

您可以使用下面的代码获得当前用户名,我认为无法以任何方式获得密码。

Set network = CreateObject("WScript.Network")
currentUser = network.userName
于 2012-12-12T19:13:05.407 回答