1

ドメインアカウントを使用してVBSスクリプトを介してHTAを起動しようとしています(プロンプトが表示されます

スクリプトとhtaはフラッシュドライブの同じディレクトリにあるため、コードはスクリプトの現在のディレクトリを指している必要があります。

以下のコードは現在、scriptsディレクトリから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 に答える