0

以下のスクリプトは、WindowsXPで期待どおりに機能します。スクリプトabc.batは、パスワードの入力を求めるプロンプトなしで管理者として実行されます(パスワードは自動的に提供されます)。しかし、同じスクリプトがWindows7Boxでは機能していません。変更は必要ですか?VBスクリプティングの経験はありません。ありがとう!

Option Explicit

Const USER               = "administrator"
Const PASS               = "*********"
Const WSNAME_COMMANDLINE = "C:\support\abc.bat"

Dim fso         : Set fso = CreateObject("Scripting.FileSystemObject")
Dim WSHShell    : Set WshShell = CreateObject("WScript.Shell")
Dim WshNetwork  : Set WshNetwork = CreateObject("WScript.Network")
Dim oDic        : Set oDic = CreateObject("Scripting.Dictionary")
Dim objArgs     : Set objArgs = WScript.Arguments
Dim oProcessEnv : Set oProcessEnv = WshShell.Environment("PROCESS")

Dim sPathToRunAs, iReturnCode

sPathToRunAs = oProcessEnv("SystemRoot")&"\System32\runas.exe"
''msgbox sPathtorunas

if Not fso.FileExists(sPathToRunAs) Then : WScript.Quit(1) 'Can't find RunAs

'''msgbox "runas /user:" & USER & " " & CHR(34) & WSNAME_COMMANDLINE & CHR(34)
iReturnCode=WshShell.Run("runas /user:" & USER & " " & CHR(34) & WSNAME_COMMANDLINE & CHR(34), 2, FALSE)

Wscript.Sleep 40                  ' Time for window to open.
WshShell.AppActivate(sPathToRunAs)' Activate the Window
Wscript.Sleep 3
WSHShell.SendKeys PASS & "~"      ' Send the password
Wscript.Sleep 3

''msgbox "done"
4

1 に答える 1

0

UAC(ユーザーアカウント制御)を無効にしたWindows 7でスクリプトを試しましたか?

UACを無効にする方法については、 http://windows.microsoft.com/en-US/windows-vista/Turn-User-Account-Control-on-or-offを参照してください。

UACが問題の理由である場合は、Windowsタスクスケジューラを使用して、ここで説明されているようにこれを回避できます:http: //poundcomment.wordpress.com/2011/03/18/how-to-create-a-whitelist- uac-for-windows-7 /

于 2012-10-10T14:30:39.720 に答える