在域中没有权限的用户可以通过域管理权限执行某个特定程序、执行cmd命令等等。
点击按钮后开始执行,过程中有进度条提示。可以判断程序文件是否存在,不存在则会有不同的提示。
源码
#Region
#AutoIt3Wrapper_Icon=111.ico ;图标文件
#EndRegion
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
Opt("GUICloseOnESC", 0)
$Form2 = GUICreate("自动执行小工具", 460, 120, -1, -1)
$Button1 = GUICtrlCreateButton("软件执行", 40, 30, 380, 40)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_MINIMIZE
GUISetState(@SW_HIDE)
Case $Button1 ;执行
_start()
EndSwitch
WEnd
Func _start()
local $sUserName = "域管理员账户"
local $domain = "域"
local $spassword = "密码"
ProgressOn("软件自动执行程序", "程序执行", "开始执行...")
ProgressSet(10, "准备执行……","开始执行...")
Sleep(1000)
ProgressSet(30, "准备执行……","开始执行...")
Sleep(1000)
ProgressSet(50, "准备执行……","开始执行...")
Sleep(1000)
ProgressSet(60, "正在执行……","开始执行...")
Sleep(1000)
;判断文件是否存在
If FileExists("程序路径.exe") then
;以管理员权限执行程序
RunAs($sUserName, $domain, $sPassword, 0, "程序路径.exe")
ProgressSet(70, "正在执行……","开始执行...")
Sleep(1000)
ProgressSet(80, "正在执行……","开始执行...")
Sleep(1000)
ProgressSet(90, "正在执行……","开始执行...")
Sleep(1000)
ProgressSet(100, "执行完成!","开始执行...")
Sleep(5000)
ProgressOff()
Else
ProgressSet(100, "程序异常!请联系管理员协助。","自动执行工具")
Sleep(10000)
ProgressOff()
EndIf
EndFunc
效果
文件不存在则会失败