I know this is an old topic. The difference in location can be expained. You have to fine the corresponding dataset by ID. Please see attached code. #RequireAdmin Dim $strComputer = "." Dim $objWMIService, $oMyError Dim $colTemp If Not @Compiled Then ConsoleWrite("HDD Temperature(s): " & _WMI_GetATAPISmartData() & @CRLF) EndIf Func _MyErrFunc() Local $HexNumber = Hex($oMyError.number, 8) MsgBox(0, "COM Error Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _