Moin,
ich nutze die Funktion ... um einen taskstatus auf dem windows server 2008r2 anzeigen zu lassen.
funktioniert bei mir lokal auf dem win7 rechner super. nur der windows server returned immer 0.
steht schon dabei "only win7 and above" gibt es eine andere möglichkeit die kompatibel ist?
Grüße
TaskScheduler / Aufgabenplaner mittels ObjCreate("Schedule.Service") ansteuern
Code
;==================================================================================
; Function: _TaskIsEnabled($taskname, $folder = "\")
; Description: check if a task is anabled
; Return Value(s): On Success - Return 1 or 0, @ERROR = 0
; On Failure - Sets @ERROR = 1, Return 0
; - Wrong OS (Needs Vista or higher) @Error = 2 Return 0
; Author(s): allow2010
; Based on: http://www.autoit.de/index.php?page=Thread&postID=214517#post214517 and on work from Veronesi
; Note(s): Works only on Win7 and above (Perhaps also Win Vista, but not tested!)
; Thread: http://www.autoitscript.com/forum/topic/135994-taskplanner-udf/
;==================================================================================
Func _TaskIsEnabled($taskname, $folder = "");check if a Task is enabled
If Not _TaskIsValidPlatfrom() Then Return SetError(2, 2, 0)
Local $oService, $oFolder
; $oMyError = ObjEvent("AutoIt.Error", "MyTaskErrFunc") ; Initialize a COM error handler
$oService = ObjCreate("Schedule.Service")
$oService.Connect()
$oFolder = $oService.GetFolder($folder)
If IsObj($oFolder) Then
$oTask = $oFolder.GetTask($taskname)
$instcount = 0
If IsObj($oTask) Then
$retval = $oTask.Enabled
Else
$retval = 0
EndIf
Else
$retval = 0
EndIf
$oService = 0
If $ComErrorFound Then
$ComErrorFound = 0
SetError(1)
Return $retval
Else
Return $retval
EndIf
EndFunc ;==>_TaskIsEnabled
Alles anzeigen