As you know, every computer in your environment can have slightly different WMI capabilities, depending upon what roles, software, and technologies are installed. Being able to quickly list the available namespaces is pretty useful - especially if you can do it remotely. In PowerShell, it's not too hard:
Be careful: There are TWO underscores in front of Namespace!
Once you have a namespace's name, listing its classes is even easier:
Just replace the appropriate namespace name and you're done. Best of all, these work with the -computeName parameter of Get-WmiObject for remote computer support!