Sadly, I am net admins, not a programmer
At the time of connection
there
is a piece of software that is downloaded to the client. I am able to use
command line inputs to get this program to return a TRUE or FALSE result
to
the specific check being done.
Unless anyone knows of the registry keys or files to check, I will have to
throw it back to the developers of our endpoint who might find your linked
article helpful.
Thank you for your assistance Michael. Have a good day!
Well, there are different things you can try but it's unlikely that any is
completely reliable. Registry entries and file versions can vary across
different versions of the OS (home versus professional version of XP for
instance, Server 2003, etc.) and even within the same version. Other times
the info may be a little flaky or not officially documented by MSFT. If
you're not overly concerned about it then you can try investigating
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" for
instance which should be set to "5.1" for WinXP. This registry key is
officially documented by MSFT as I recall (you should double check) but
again, it might not be for all current versions of Windows (home version for
instance - you'll need to check). Note that "CSDVersion" will also be set to
"Service Pack 2".under the same key (for an English version of the OS
anyway), but again, I don't know how reliable this is. Other registry keys
also likely exist but you'll have to dig for them (as I'm sure you already
have - MSFT does document their registry keys but the info is sometimes
scattered, incomplete, or difficult to pin down depending on the OS). If you
want to try checking some file version, you would likely have to investigate
a "protected" file such as "kernel32.dll" which is guaranteed to exist on
all versions (there are many other protected files but "kernel32,dll" is
among an elite club that will always be present). It's very unlikely you'll
find any file that can pinpoint the exact version and SP however. A minimum
version is all you can usually guarantee but determining whether it's XP
(home or professional) versus Win2000 for instance (or others) may prove
difficult. Note that MSFT does have an online search facility to find all OS
files and their versions (plus related info) but I don't have the link with
me offhand. It's not completely reliable anyway based on my experience
(since they have countless thousands of files going back years). In any
case, note that you can also run "ver" from the command prompt and redirect
the output to a file which can then be searched using, say, "find.exe" for
instance (there's also a GUI version called "winver.exe" but you'ld have to
screen scrape the results). No service pack info is provded by "ver" however
(unlike "WinVer.exe") and the format of the version string isn't officially
documented. IMO your best bet is to simply bite the bullet and find a
programmer to write the necessary code. It will be faster than the search
you're now conducting and reliable in theory (since the link I previously
provided is the de facto way of doing it - I've used it on the local
intranet under many different (language) versions of Windows and it's always
proved reliable). It should also be doable very quickly since the code
involved is extremely tiny once they investigate how to do it remotely (the
investgiation and testing will take longer than the code itself which can be
written in an hour or less). Anway, good luck.