Windows 如何通过VBS以其他用户的身份运行HTA
我正在尝试使用我的域帐户通过VBS脚本启动HTA(并让它提示我 脚本和hta将位于闪存驱动器上的同一目录中,因此代码必须指向脚本的当前目录 下面的代码当前从scripts目录启动hta,但我无法传递用户名(例如domain/username)作为另一个用户启动htaWindows 如何通过VBS以其他用户的身份运行HTA,windows,vbscript,cmd,hta,Windows,Vbscript,Cmd,Hta,我正在尝试使用我的域帐户通过VBS脚本启动HTA(并让它提示我 脚本和hta将位于闪存驱动器上的同一目录中,因此代码必须指向脚本的当前目录 下面的代码当前从scripts目录启动hta,但我无法传递用户名(例如domain/username)作为另一个用户启动hta Set objShell = CreateObject("Shell.Application") Set FSO = CreateObject("Scripting.FileSystemObject") strPath = FSO.
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\
您可以通过下面的代码获得当前用户名,但我认为任何方式都无法获得密码
Set network = CreateObject("WScript.Network")
currentUser = network.userName
您可以通过下面的代码获得当前用户名,但我认为任何方式都无法获得密码
Set network = CreateObject("WScript.Network")
currentUser = network.userName
谢谢,但我想提示用户输入用户名,将其保存在变量中,然后将用户名传递给“runas”脚本(以便我可以使用不同的用户凭据运行HTA)。这是我尝试执行的批处理代码:runas/user:domain\username“c:\windows\system32\mshta.exe”\main.hta\Hmm…似乎我没有正确理解问题。遗憾的是,我不熟悉VBScript,因此无法正确回答此问题。但是,我想
showModalDialog()
也可以通过VBScript使用。您可以在那里输入两个输入,然后在对话框的returnValue
中返回值…?谢谢,但我想提示用户输入用户名,将其保存在变量中,然后将用户名传递给“runas”脚本(以便我可以使用不同的用户凭据运行HTA)这是我尝试执行的批处理代码:runas/user:domain\username“c:\windows\system32\mshta.exe\”\main.hta\Hmm…似乎我没有正确理解问题。遗憾的是,我不熟悉VBScript,因此无法正确回答此问题。但是,我想showModalDialog()
也可以通过VBScript使用。您可以在那里输入两个输入,然后在对话框的returnValue
中返回值。。。?