顧客は、スクリプトで SHIFT キーを押しながら右クリックして「別のユーザーとして実行」を実行することを望んでいません。
そこで、バッチ スクリプトからまったく同じことを実行する方法を探しています。
Windows XP でバッチ スクリプトからこのウィンドウを開くにはどうすればよいでしょうか?
ユーザーは別のローカル ユーザーとしてプログラムを起動する必要があります。
編集
Windows 7の解決策を見つけましたここしかし、XPでは動作しません...
答え1
CredTask.vbs:
On Error Resume Next
strComputer = "." 'local computer
strUserName = "Domain\User" 'user name
strPassword = "Password" 'user password
strCommandLine="calc.exe"
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objServices = objSWbemLocator.ConnectServer(strComputer, "root\CIMV2", strUserName, strPassword, Null, Null, 0)
If Err.Number <> 0 Then
WScript.Echo Err.Number & ": " & Err.Description
WScript.Quit
End If
Set objClass = objServices.Get("Win32_Process")
Res = objClass.Create(strCommandLine, Null, Null, PID)
If Res <> 0 Then
WScript.Echo "Error ru application code: " & Res
End If