Welcome to Dirteam.com/ActiveDir.org Blogs Sign in | Join | Help

The things that are better left unspoken

a blog by Sander Berkouwer

Related

AD Manager Plus
 

Blog roll

News



Archives

How to determine your Windows Server 2008 version

 

Microsoft has recently decided to supply every Windows Server 2008 test version with the same major revision number. This number, also known as the Build number, is used often to distinguish test versions. When submitting a bug or asking a question in the TechNet forums you might even get asked for it. (or at least get asked for the ‘name’ of the version)

Major, minor and revisions

Windows versions can be identified using their Major version, their Minor version and their revision. Under the hood all Microsoft Windows versions have this unique combination of numbers. Looking at the Windows NT family of products you can clearly see these combinations when you invoke winver.exe and examine the second line of output:

Windows NT 4 Server 4.0 (Build 1381)
Windows 2000 Server 5.0 (Build 2195)
Windows Server 2003 5.2 (Build 3790)

Clearly Windows NT 4 Server is major version 4 with minor version 0. Both Windows 2000 Server and Windows Server 2003 are major version 5 of Windows NT. They have different minor versions. Windows Vista and Windows Server 2008 are both version 6.0 of Windows NT. (They share the same codebase.)

Build 6001

A new revision, or Build, emerges when a new version of Windows is generated from the source code. The build number is an incremental attribute value to identify superseding builds.

Microsoft has decided to use 6001 as the Build number for all Windows Server 2008 test versions and Windows Vista Service Pack 1 test versions. To differentiate between the test versions Microsoft has decided to use an additional revision number. This additional revision number started at 16384 at the release of the August Community Technology Preview (CTP) when Windows Server 2008 was still known as Windows Server Codename "Longhorn".

Determining the version

There are two methods to determine your version of Windows Server 2008:

  • Through the extended BuildLab value
  • Through the CSDVersion Number

The BuildLabEx method

The method of using the BuildLab value is a fairly common method to determine Windows versions and patch levels. The BuildLabEx value is an extensive version of the BuildLab value and holds more information.

Through the registry

The BuildLabEx value is stored in the registry. This allows the method to be used on both the fully installed version of the Operating System and Server Core installations. Using your favorite registry tool you can easily read the version of your Operating System here:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\BuildLabEx

Values for this registry key start with 6001, followed by the second revision number, followed by some processor information, some more build and version information and the time and date on which the build was made. Below is a table with values for the second revision number corresponding with publicly available versions of Windows Server 2008 / Windows Server Codename "Longhorn":  

6001.16406   Windows Server Codename “Longhorn” December 2006 CTP  
6001.16461   Windows Server Codename “Longhorn” February 2007 CTP  
6001.16497   Windows Server Codename “Longhorn” April 2007 CTP
6001.16510   Windows Server Codename “Longhorn” Beta 3
6001.16606   Windows Server 2008 June 2007 CTP
6001.16659   Windows Server 2008 Release Candidate 0
6001.17042   Windows Server 2008 November 2007 CTP
6001.17051   Windows Server 2008 Release Candidate 1
6001.17119   Windows Server 2008 Release Candidate 1 with Hyper-V Beta

The CSDVersion method

The CSDVersion represents the Service Pack level of the Operating System. It also contains a value for the CSDBuildNumber at the end.

Note:
While we're mainly interested in the CSDBuildNumber I'm still checking the CSDVersion value, since checking the CSDBuildNumber on earlier versions (more specific: pre-April 2007 CTP versions) of Windows Server Codename "Longhorn" ends up in an error. In these versions there's also no information to be found in the CSDVersion info.

The value for CSDVersion is stored in a registry key not far from the BuildLabEx key, but checking it through the registry would basically make this method resemble the previous method too much. Besides: the CSDVersion can be obtained much easier.

WinVer.exe

If you're using a full installation of Windows Server Codename "Longhorn" or Windows Server 2008 you can just run WinVer.exe (no command line options necessary) On the second line behind the major, minor and revision number you'll find CSDBuildNumber value at the end. 

WMIC

It’s also possible to determine the version of your Operating System using the Windows Management Instrumentation Console (WMIC). Since Server Core doesn't offer winver it's the preferred way for Server Core users to determine their version. You can query the value for CSDBuildNumber using the following command:

Wmic OS get CSDVersion

The value is a string with ends with a number, which has a correlation with the second revision number: the CSDBuildNumber. This number seems to resemble the number of builds from the August 2006 CTP, which had 5600.16384 as its revision number. Below is a table with CSDBuildNumbers corresponding with publicly available versions of Windows Server 2008 / Windows Server Codename "Longhorn":

v.22 Windows Server Codename “Longhorn” December 2006 CTP
v.77 Windows Server Codename “Longhorn” February 2007 CTP
v.113   Windows Server Codename “Longhorn” April 2007 CTP
v.126   Windows Server Codename “Longhorn” Beta 3
v.222   Windows Server 2008 June 2007 CTP
v.275   Windows Server 2008 Release Candidate 0
v.658   Windows Server 2008 November 2007 CTP
v.667   Windows Server 2008 Release Candidate 1
v.735   Windows Server 2008 Release Candidate 1 with Hyper-V Beta

Concluding

It's not difficult to  determine the version of your Windows Server Codename "Longhorn" or Windows Server 2008 box.

If you're running a full installation you can find it using winver.exe, in the registry and using the Windows Management Instrumentation Console (WMIC). If you're a hardcore admin running Server Core you can find it in the registry or feed your beloved wmic some more commands.

Happy testing!

Further reading

Retrieving the Properties of the Operating System 
The Build Process
How do you guys create Build numbers? 
Windows Server 2008 on Wikipedia
WSV ('Viridian") part of Windows Server 2008 SP1?
Windows Server 2008 Developer Center

Posted: Friday, November 02, 2007 1:21 AM by Sander Berkouwer

Comments

The things that are better left unspoken said:

Microsoft released the November 2007 Community Technology Preview of Windows Server 2008 on the Connect website

# November 15, 2007 3:35 PM

TrackBack said:

Information about the registry value HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ CSDBuildNumber

Sander Berkouwer, a Microsoft MVP has a nice blog about this value.

# March 2, 2009 9:41 AM

Where to find Vista’s service pack level? Drija said:

When Vista’s service pack version is at level 1 (SP1), this version number is shown at “Control Panel / System”. However, on my system this information has disappeared, probably because I’m now using SP2. I’d like to verify this, so I can be certain.

Conclusion: Thanks to Ivo I found the registry settings that store the service pack version number. Because I was (incorrectly) convinced that I had installed a service pack already, and because the “CSDBuildNumber” was 2 on my system, I did some research about the info in the registry. Here are the results:

Fresh Windows Vista image without SP:

  • CSDBuildNumber: 2
  • CSDVersion is not present

Fresh Windows Vista image with SP1:

  • CSDBuildNumber: 1616
  • CSDVersion: Service Pack 1

Fresh Windows Vista image with SP2:

  • CSDBuildNumber: 1621
  • CSDVersion: Service Pack 2

So indeed, my problem was that – contrary to what I believed – I had no service pack installed. Thus, the “Control Panel / System” dialog can be trusted.

# July 19, 2011 8:18 PM
Anonymous comments are disabled