autoit Syntax WMI

Beispiel für eine WMI-Abfrage:

 

$BootTime = BootTime()

 

MsgBox(0,"Info","BootTime: " & $BootTime & @CRLF & @CRLF & "(dieses Fenster schließt nach 10 Sekunden…)" ,10)

 

EXIT

 

Func BootTime()

   $COMPUTERNAME=@computername

   Local $ProductCode, $ProductName, $Val

   Local $objItems

   Local $objWMI

 

   $wbemFlagReturnImmediately = 0x10

   $wbemFlagForwardOnly = 0x20

 

   $objWMI = ObjGet("winmgmts:\\" & $COMPUTERNAME & "\root\CIMV2")

   $objItems = $objWMI.ExecQuery('Select * from Win32_OperatingSystem', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

   If IsObj($objItems) Then

       For $objItem In $objItems

           $oBootTime        = $objItem.LastBootUptime

       Next

   EndIf

   $BootTimeArray=StringSplit($oBootTime,".",1) ; Entferne alle Zahlen nach dem . damit es in der Console schöner aussieht.

   $BootTime=$BootTimeArray[1]; Gib mir den Teil des Arrays links vom . (Punkt)

; $StartTime = StringRegExpReplace($BootTime, "(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})","$4:$5:$6 $3.$2.$1")

$StartTime = StringRegExpReplace($BootTime, "(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})","$3.$2.$1 – $4:$5")

return($StartTime)

EndFunc