如何循环使用其他用户运行脚本?[已解决]
本帖最后由 einiter 于 2013-6-7 10:16 编辑我想让另一个脚本使用管理员的权限运行,但是因为很多机器管理员密码不同。然后我想通过数组进行循环运行runas!但是执行不成功。
当然如果有更好的方法!还望各位给条明路
详细代码如下。
#include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;Local $UserPass=[['123','avc'],['321','sda']]
;_ArrayDisplay($UserPass)
Local $USERNAME=['amine','XXX']
Local $PASSWORD=['123','YYY']
Local $Errorid
If IsAdmin() Then
Run('Domain.exe',@ScriptDir)
Else
For $i=0 To UBound($Username)-1
;MsgBox('','','User:'&$USERNAME[$i]& @CRLF &'Pssword:'&$PASSWORD[$i])
$Errorid[$i]=RunAs($USERNAME[$i],@ComputerName,$PASSWORD[$i],0,'Domain.exe',@ScriptDir)
If @error Then ContinueLoop
If $Errorid[$i] <> 0 Then Exit
Next
$Login = GUICreate("输入管理员用户名和密码", 237, 112, 457, 270)
$Username = GUICtrlCreateInput("", 88, 8, 121, 21)
GUICtrlSetLimit(-1, 12)
$Button1 = GUICtrlCreateButton("登录", 56, 80, 115, 25)
$Password = GUICtrlCreateInput("", 88, 40, 121, 21)
$Label1 = GUICtrlCreateLabel("Username:", 8, 8, 68, 17, BitOR($SS_CENTER,$SS_CENTERIMAGE))
$Label2 = GUICtrlCreateLabel("Password:", 8, 40, 68, 17, BitOR($SS_CENTER,$SS_CENTERIMAGE))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
MsgBox('','','123')
EndSwitch
WEnd
EndIf
@afan
两小时后没人回复!我自己顶一下。 等了一天了!木有人回复!!
@各位大神。
已经解决
;增加了两个本地变量
Local $Uname,$Upwd
For $i=0 To UBound($Username)-1
;MsgBox('','','User:'&$USERNAME[$i]& @CRLF &'Pssword:'&$PASSWORD[$i])
$Uname=$USERNAME[$i]
$UPwd=$PASSWORD[$i]
$Errorid[$i]=RunAs($Uname,@ComputerName,$Upwd],0,'Domain.exe',@ScriptDir)
If @error Then ContinueLoop
If $Errorid[$i] <> 0 Then Exit
Next
页:
[1]