Auto-Discovering Online Help for WMI

Share |

Subscribe to Feed

PowerShell eBook
Sign up for
Your PowerTip of the Day:

Powershell Plus

13 Free SQL Tools from Idera

Free Ebook: Mastering Powershell


Get-WmiObject is a great and simple cmdlet to retrieve WMI information, and the parameter -List returns all available WMI class names that you can specify:

# search for WMI class name:
PS> Get-WmiObject -Class *Share* -List

# retrieve all instances of WMI class:
Get-WmiObject -Class Win32_Share

To really dive into WMI, you will want to get full documentation for all the WMI classes. While documentation is available in the Internet, the URLs for those websites are cryptic.

Here is a clever way how you can translate WMI class names into the cryptic URLs: use PowerShell 3.0 Invoke-WebRequest to search for the WMI class using a major search engine, and then retrieve the URL:

function Get-WmiHelpLocation
  param ($WmiClassName='Win32_BIOS')

  $uri = '{0}' -f $WmiClassName

  $url = (Invoke-WebRequest -Uri $uri -UseBasicParsing).Links |
  Where-Object href -like '*' |
  Select-Object -ExpandProperty href -First 1
  Start-Process $url

When you run Get-WmiHelpLocation, it returns the URL for the WMI class specified and also opens the web page in your default browser:

PS> Get-WmiHelpLocation Win32_Share 

Note: If your Internet access requires a proxy server or authentication, add the appropriate parameters to Invoke-WebRequest inside the function Get-WmiHelpLocation.

Twitter This Tip! ReTweet this Tip!

Posted Jan 28 2013, 06:00 AM by ps1
Copyright 2012 All rights reserved.