Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ConsoleWrite(QueryWMI("SELECT * FROM Win32_Battery DISPLAY Name, Caption, Status, EstimatedChargeRemaining"))
- Func QueryWMI($Query, $Computer="localhost")
- Local $0, $WMI, $Items, $Output = "", $Item, $i
- $Query = StringRegExp($Query, "(?i)^(SELECT .+? FROM .+?) DISPLAY (.+?)$", 3)
- If @error Then Return SetError(-1, 0, "")
- $0 = StringSplit($Query[1], ",")
- For $i = 1 To $0[0]
- $0[$i] = StringRegExpReplace($0[$i], "[^A-Za-z0-9]", "")
- Next
- $Query = StringStripWS($Query[0], 7)
- $WMI = ObjGet("winmgmts:\\" & $Computer & "\")
- If @error Then Return SetError(1, 0, "")
- $Items = $WMI.ExecQuery($Query, "WQL", 0x30)
- If (Not IsObj($Items)) Then Return SetError(2, 0, "")
- For $Item In $Items
- For $i = 1 To $0[0]
- If (StringLen($0[$i]) > 0) Then
- $Output &= $0[$i]&": " & Execute("$Item."&$0[$i]) & @CRLF
- EndIf
- Next
- $Output &= @CRLF
- Next
- Return $Output
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement