In the past, people have thrown rocks at WMI for being difficult and obtuse. There is a ton of great information in WMI and now with PowerShell, you have a tool that makes it easy to find and manipulate. If you’ve looked at WMI in the past and given up, I encourage you to get some PowerShell skills under your belt and go at it again.
This is a great post to read – don’t let the title fool you, even if you have no USB devices it’s very important to read and grok this.
WMI is one of those areas in Microsoft software (and IMHO, there are many) where the power and infrastructure are solid, even excellent, but bridging the gap to useful interfaces has been… lacking (there’s lots of side threads from here as to how this is Apple winning various battles through good interfaces, but we’ll stick to the topic).
Obviously Jeffrey thought so as well, since he created wmic, which gave a better admin experience interacting with WMI. WMI has tons of useful information, useful objects, methods you can invoke, and other power. It’s an entire eco-system that most people don’t even realize is there, purring just beneath the surface of the water, just out of their sight.
Only as I dig more and more into WMI do I start to realize just how much power is there and how much you can do with it. Now that PowerShell is helping bridge the interface/usability/scriptability gap that’s existed, it’s going to be amazing seeing people really start to discover and take advantage of this infrastructure in their own scripts/programs/etc.
nit-pick-of-the-day: I consider “control-backspace” (backspace over word) to be a Windows-ism (at least because I didn’t seem to use it before coming to Microsoft). In my IE7, it (still) works great in the address bar. But hit control-e to get to the search bar, and it doesn’t work there (on English 2k3, it even gives me a oh-so-useless white box since the character’s unprintable apparently). Worse? It works absolutely great in my Firefox 220.127.116.11, for both address *and* search bars 🙁