Executive Summary:
Microsoft Windows Management Instrumentation (WMI) offers numerous classes and properties that you can use to retrieve information about local and remote computers. The Windows Management Instrumentation Command-line (WMIC) utility brings that functionality to the command line. This article explores how you can use the Windows Management Instrumentation Command-line utility to retrieve the IDs of all the hotfixes installed on the local machine.
|
There are dozens of different ways
to find the hotfixes installed on
computers, but the fastest and simplest
way is to use a widely available tool named Windows Management
Instrumentation Command-line
(WMIC). With WMIC, getting the
IDs of all the hotfixes installed on the
local system can be done with this
short command
wmic qfe get
Hotfixid
If you aren’t familiar
with WMIC and want
an even shorter command
to remember,
you can cut the command
down to
wmic qfe
Besides displaying
the IDs, this command
displays other
details (e.g., hotfix
name, hotfix installation date) about
the installed hotfixes, which can be
helpful.
If you just need to determine
whether a specific hotfix is installed,
you can avoid searching through
a long list of hotfixes by piping the
wmic qfe command’s output through
the Find command. For example,
if you want to see whether hotfix
938194 is installed on the local
machine, you can run the command
wmic qfe | find “938194”
Note that you need to enclose the
search string (in this case, 938194) in
quotes.
At this point, you might be wondering
what qfe is. In WMIC, you
use aliases such as qfe to specify the
Windows Management Instrumentation
(WMI) class you’re interested
in retrieving information from. In
WMIC, an alias is essentially a nickname.
Just like it’s easier to remember
people’s nicknames than their
full names, it’s easier to remember
classes’ aliases than their full names.
Besides helping with familiarity,
aliases reduce what you have to type
on the command line and can help
differentiate between classes with
similar names.
Although WMIC assumes that
you’re using aliases on the command
line, you can use standard Windows
Management Instrumentation (WMI)
class paths instead. For example, qfe
is the alias for WMI’s Win32_Quick-
FixEngineering class, therefore
wmic qfe get Hotfixid
is equivalent to
wmic path win32_quickfixengineering
get Hotfixid
The path keyword that precedes the
name of the WMI class tells WMIC
that the path to a WMI class follows.
So, if you don’t know a particular
WMIC alias for a WMI class, all you
need to do is use the path keyword
followed by the class’s name.
There are several reasons why I
use WMIC for checking hotfixes. As
I mentioned earlier, it’s fast. You can
type the entire command in an open
command-prompt window more quickly than you can navigate to most programs
on the Windows Start menu. It’s simple
because you don’t need to install special programs
to perform the query for you. Equally
important, you can use it with virtually any
Windows OS. Although WMIC has been
around only since Windows XP, you can use
WMIC’s /node parameter to run the utility
remotely against earlier Windows OSs, as long
as those OSs are running WMI. For example,
to check for hotfixes on a Windows NT 4.0
system named LegacyHost that has the NT
4.0 WMI extensions installed, you’d run the
command
wmic /node:legacyhost qfe get Hotfixid
There’s another reason to use WMIC for getting
hotfix information. If you don’t already
use WMIC, it gives you an opportunity to
become familiar it, which has an immense
long-term payoff: One tool is all you’ll need to
find out information about any WMI property
on any system you’re connected to. All you
need to know is the property’s name and the appropriate alias. For example, if you want
the names of all the printers on the local system,
you’d use the printer alias with the Name
property in the command
wmic printer get Name
Need the CPU speed on the local machine?
Simply run
wmic cpu get CurrentClockSpeed
The built-in aliases that are available for use
can differ depending on the OS you’re using.
For example, if you need to find the memory
currently installed on a Windows XP computer,
you’d need to use
wmic memlogical get totalphysicalmemory
But on a Windows Server 2008, Windows
Vista, or Windows Server 2003 machine, the
command would be
wmic memorychip get Capacity
On the Windows IT Pro Web site, you can
download a Microsoft Excel spreadsheet
that shows the differences between
WMIC aliases on various OS versions. Go
to www.windowsitpro.com/Windows/Article/ArticleID/97781/97781.html and
click the Download the Code Here button
near the top of the page. The 97781.zip
file that you download will contain the
spreadsheet.
For more detailed information about
WMIC’s options, you can check the built-in
Help feature with one of the following
commands:
wmic /?
wmic /?:full
Spending a little time learning about these
options will pay off later when you need quick
access to particular information about the
systems you support.
End of Article