The article claims that "the new[ PowerShell-based] tools provide a more efficient way of querying WMI". However, this does not take into account the fact that PowerShell itself is less efficient in some respects; initiating a PowerShell session (even to run a single-command script) takes much longer than invoking wmic.exe did, and if you have to do it multiple times (because you need to run multiple scripts), you're paying that startup cost repeatedly.
The suggestion that PowerShell's WMI interfaces make it a sufficient - much less a more-efficient - replacement for WMIC strikes me, quite honestly, as laughable; it gives me the impression that the speaker cannot possibly know what he is talking about.
At the very minimum, if Microsoft is going to be directing people to PowerShell as a replacement for WMIC, it needs to identify the various boilerplate ways people have been using WMIC over the years (including, e.g., "remove all installed programs whose name matches this wildcard string") and provide a page which lists those WMIC calls and the closest-equivalent PowerShell syntax.
I use PowerShell a fair bit myself, including some of its WMI interfaces, and I've never managed to identify a suitable equivalent for
wmic product where "name like 'PATTERN'" call uninstall /nointeractive
- much less one which is comparably brief to type. This template is widespread on the Web as a solution for uninstalling software unattended from the command line, and it is almost certainly not the only such widely-recommended solution that's based on WMIC.
Honestly, if Microsoft wanted to deprecate and eventually remove WMIC, it should have started by shipping an updated version of WMIC which would print a "this program is deprecated" message on every invocation before doing its actual thing. I had not even seen any hint that it was deprecated, despite it now being nine years since the stated deprecation date. Announcing it on the Web somewhere is not nearly enough.