The main disadvantage of WMI is the speed, slowness of the data request, and if you try to use it at startup, it may delay you, because the WMI service takes a lot of time.
However, WMI information is richer because you sometimes need to make several API calls to get the same amount, some information is much easier to get, and filtering syntax can significantly reduce the amount code you have to write.
If speed is not a serious issue, I will always lean towards WMI.
user1333
source share