How to determine your Windows Server 2008 version

Reading Time: 4 minutes

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

leave your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.