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