Disk relevance code is not able to identify the predict failure for NVMe type
q:if (exists wmi) then if (exists select object “PredictFailure from MSStorageDriver_FailurePredictStatus” of wmi “root\WMI” | false ) then if (exists (select objects “* from MSStorageDriver_FailurePredictStatus” of wmi “root\WMI”) whose(string value of property “PredictFailure” of it as boolean = TRUE)) then “Disk may fail” else “” else “Disk Driver Not Supported” else nothing
I dont have access to a machine with NVMe but if its a case the OS doesn’t have the data in WMI, I would think that more an WMI factor that is merely refelcted by the relevance, or any other WMI based queries such as WMIC. If you can find if and where that data exists then maybe there is a approach that can be developed in relevance.
I have this in an analysis property, refreshing every seven days:
if(not exists (select objects "* from MSStorageDriver_FailurePredictStatus" of wmi "root\WMI") whose(string value of property "PredictFailure" of it as boolean = TRUE)) then "<no failures predicted>" else concatenation "," of (string value of property "PredictFailure" of it & " - " & string value of property "InstanceName" of it) of (select objects "* from MSStorageDriver_FailurePredictStatus" of wmi "root\WMI") whose(string value of property "PredictFailure" of it as boolean = TRUE)
q:if (exists wmi) then if (exists select object "PredictFailure from MSStorageDriver_FailurePredictStatus" of wmi "root\WMI" | false ) then if (exists (select objects "* from MSStorageDriver_FailurePredictStatus" of wmi "root\WMI") whose(string value of property "PredictFailure" of it as boolean = TRUE)) then "Disk may fail" else "" else "Disk Driver Not Supported" else nothing
A: Disk Driver Not Supported
T: 5.137 ms
q:if(not exists (select objects “* from MSStorageDriver_FailurePredictStatus” of wmi “root\WMI”) whose(string value of property “PredictFailure” of it as boolean = TRUE)) then “” else concatenation “,” of (string value of property “PredictFailure” of it & " - " & string value of property “InstanceName” of it) of (select objects “* from MSStorageDriver_FailurePredictStatus” of wmi “root\WMI”) whose(string value of property “PredictFailure” of it as boolean = TRUE)
E: The expression could not be evaluated: Windows Error 0x8004100c: Not supported
Try the earlier suggestion about manually running gwmi from a command line.
gwmi -class MSStorageDriver_FailurePredictStatus -namespace ROOT\wmi | ft Active, PredictFailure, Reason
If the data is not there in WMI to begin with, you can’t retrieve it from BigFix either. You’d need to be looking at whether something is corrupt on those machines, or a missing driver, or something along those lines.
This doesn’t look like a BigFix problem at this point.