本帖最后由 cj-reggie 于 2012-6-27 15:51 编辑
功能需求是使用一台计算机远程启动其他机器win7系统的一个应用程序,有管理员权限,以及ip地址及机器名,求大神给个思路
以上为求思路贴
以下为求助
1.xp下已经搞定,使用计划任务即可,但是win7系统下则不行
2.wmi连接不成功脚本会停止运行,比如相同配置的机器,机器名:F0~F9,F5连接失败(不知道为什么,用户名密码都一样的机器)则F6~F9就不执行了Func RemoteExecute($top)
$computer=$top&$i
dim $objsch,$objinfo,$objtime,$act
for $i=0 to 9
$act=ping($computer)
if $act then
$objlocator= ObjCreate ("wbemscripting.swbemlocator")
If @error Then
; MsgBox(0, "Error", "Error: failed to create $$objlocator")
ContinueLoop
EndIf
$objWMI=$objlocator.connectserver($computer,"root/cimv2",$Remoteuser,$Remotepass)
If @error Then
;~ MsgBox(0, "Error", "学生机未开机或未连接网络")
;$output[$i]=$computer
continueloop
EndIf
$objWMI.Security_.ImpersonationLevel = 3
$objsch = $objWMI.Get("Win32_ScheduledJob")
$objtime=@hour&string(number(@min)+2)
$objInfo = $objsch.Methods_("Create").InParameters.SpawnInstance_
$objInfo.Properties_.Item("StartTime") = "********"&$objtime&"00.000000"&"+480"
$objinfo.command = $strprogtorun
$objinfo.interactwithdesktop=true
$objinfo.runrepeatedly=true
$objWMI.ExecMethod("Win32_ScheduledJob", "Create", $objinfo)
else
continueloop
endif
next
EndFunc
|