Now that Daylight Saving Time has begun, I am constantly getting requests for help on why the calendar info is wrong. I suggest that maybe they need to install the Microsoft patch (931836). Unfortunately it is not easy to scan a computer to find a single patch. Since Service Pack 2, there has been at least 150 patches for various issues, updates, and such.
To make things easier, I found that the PSInfo will return all the patches for a specific computer. This will return all the patches on the local computer. Unfortunately, it does not appear that you can filter on a specific patch using the embedded 'filter' command of PSInfo (like you can for other components that it will return).
PSInfo -h
----------------------------------
Installed HotFix
8/28/2006 Microsoft .NET Framework 1.1 Hotfix (KB886903)
8/27/2006 Microsoft .NET Framework 1.1 Service Pack 1 (KB867460)
10/14/2006 This Security Update is for Microsoft .NET Framework 2.0. \n
(etc.)
Great! Now I can have my Dad wade through 3 pages of hotfixes, looking for a specific number in the list. Of course, I can have him pipe it to a text file, then simply search the file in Notepad or such. Why? DOS has a great command called "FIND". This command will search an input source and return matching contents. So I have them type in:
PSInfo -h | find "931836"
This returns one line when it finds the patch:
PsInfo v1.74 - Local and remote system information viewer
Copyright (C) 2001-2005 Mark Russinovich
Sysinternals - www.sysinternals.com
2/17/2007 Update for Windows XP (KB931836)
and no patch info when it is not installed.
To extend this, I have considered taking advantage of the wildcard functionality in PSInfo. You could type "\\*" after the PSINFO statement and it would search all computers on the local network! Unfortunately, I've been told that this returns the number of computers with a give patch, not which ones. I'd suggest a BATCH FOR ... loop..
Thanks Mark, I love PSTools!