Hallo und willkommen,
Informationen über Dienste kann man über WMI abfragen:
Spoiler anzeigen
; Erstellt von AutoIt Scriptomatic
$wbemFlagReturnImmediately=0x10
$wbemFlagForwardOnly=0x20
$colItems=""
$strComputer="localhost"
$Output=""
$Output&="Computer: " &$strComputer & @CRLF
$Output&="==========================================" & @CRLF
$objWMIService=ObjGet("winmgmts:\\" &$strComputer &"\root\CIMV2")
$colItems=$objWMIService.ExecQuery("SELECT * FROM Win32_Service", "WQL", _
$wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
$Output&="AcceptPause: " &$objItem.AcceptPause & @CRLF
$Output&="AcceptStop: " &$objItem.AcceptStop & @CRLF
$Output&="Caption: " &$objItem.Caption & @CRLF
$Output&="CheckPoint: " &$objItem.CheckPoint & @CRLF
$Output&="CreationClassName: " &$objItem.CreationClassName & @CRLF
$Output&="Description: " &$objItem.Description & @CRLF
$Output&="DesktopInteract: " &$objItem.DesktopInteract & @CRLF
$Output&="DisplayName: " &$objItem.DisplayName & @CRLF
$Output&="ErrorControl: " &$objItem.ErrorControl & @CRLF
$Output&="ExitCode: " &$objItem.ExitCode & @CRLF
$Output&="InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF
$Output&="Name: " &$objItem.Name & @CRLF
$Output&="PathName: " &$objItem.PathName & @CRLF
$Output&="ProcessId: " &$objItem.ProcessId & @CRLF
$Output&="ServiceSpecificExitCode: " &$objItem.ServiceSpecificExitCode & @CRLF
$Output&="ServiceType: " &$objItem.ServiceType & @CRLF
$Output&="Started: " &$objItem.Started & @CRLF
$Output&="StartMode: " &$objItem.StartMode & @CRLF
$Output&="StartName: " &$objItem.StartName & @CRLF
$Output&="State: " &$objItem.State & @CRLF
$Output&="Status: " &$objItem.Status & @CRLF
$Output&="SystemCreationClassName: " &$objItem.SystemCreationClassName & @CRLF
$Output&="SystemName: " &$objItem.SystemName & @CRLF
$Output&="TagId: " &$objItem.TagId & @CRLF
$Output&="WaitHint: " &$objItem.WaitHint & @CRLF
If Msgbox(1, "WMI-Ausgabe", $Output)=2 then ExitLoop
$Output=""
Next
Else
Msgbox(0, "WMI-Ausgabe","Keine WMI-Objekte gefunden für Klasse: " & "Win32_Service")
Endif
Func WMIDateStringToDate($dtmDate)
Return (StringMid($dtmDate, 5, 2) &"/" &StringMid($dtmDate, 7, 2) &"/" &StringLeft($dtmDate, 4) & " " &StringMid($dtmDate, 9, 2) &":" &StringMid($dtmDate, 11, 2) &":" &StringMid($dtmDate,13, 2))
EndFunc