Determine OS version and bit type from the registry

R

RobM

Hi,

I need to find out if there is a way to determine the operating system
version and whether it is 32 or 64-bit by using the registry. I am aware of
the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\CurrentVersion. Windows XP would be 5.1 and Vista would be
6.0. I noticed that both the 32 and 64 bit versions are set to version 6.0.
Does anyone know where to find the bit version installed in the registry?
System Information is able to tell so it must be in the registry somewhere.

I have been searching the internet for awhile without much luck so far.
 
M

Mark L. Ferguson

--OS Architecture.VBS--cut here--
' Mark L. Ferguson 2008
' script to detect 32 or 64 bit architecture
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo objOperatingSystem.Caption & _
" " & objOperatingSystem.OSArchitecture
Next
--end file--cut here--

--
Use the "Ratings" feature. It helps the new users.
Please use the Communities guidelines when posting.
http://www.microsoft.com/wn3/locales/help/help_en-us.htm
Mark L. Ferguson MS-MVP
https://mvp.support.microsoft.com/profile/Mark.Ferguson
 
R

RobM

I get an error message using this code:

Line 8
Char 5

Error: Object doesn't support this property or method:
'objOperatingSystem.OSArchitecture'

Will this script tell me the bit version of the OS installed or only if the
processor supports it? I'm looking for the bit version of the OS installed.
 
R

RobM

One last question. You are making the determination by using the key
HKLM\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment\PROCESSOR_ARCHITECTURE. Doesn't this refer to the
processor's capability rather than the OS bit version?

If you install a 32-bit OS on a processor capable of supporting 64-bit, the
value at that key will still be x86 regardless of the processor?

Sorry to drag this on but the Processor_Architecture key makes this a little
confusing.
 
D

Darrell Gorter[MSFT]

Hello Rob,
The Processor_Architecture should show the OS platform
The Processor_Identifier shows the hardware of the chip that is installed.
Thanks,
Darrell Gorter[MSFT]

This posting is provided "AS IS" with no warranties, and confers no rights
--------------------
| >Thread-Topic: Determine OS version and bit type from the registry
| >thread-index: AclUB0k5OIqZoiexTuuBfRB/PxwOHQ==
| >From: =?Utf-8?B?Um9iTQ==?= <[email protected]>
| >References: <[email protected]>
<es5TZs#[email protected]>
| >Subject: Re: Determine OS version and bit type from the registry
| >Date: Mon, 1 Dec 2008 14:51:02 -0800
| >Lines: 60
| >Message-ID: <[email protected]>
| >MIME-Version: 1.0
| >Content-Type: text/plain;
| > charset="Utf-8"
| >Content-Transfer-Encoding: 7bit
| >X-Newsreader: Microsoft CDO for Windows 2000
| >Content-Class: urn:content-classes:message
| >Importance: normal
| >Priority: normal
| >X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.3168
| >Newsgroups: microsoft.public.windows.vista.general
| >Path: TK2MSFTNGHUB02.phx.gbl
| >Xref: TK2MSFTNGHUB02.phx.gbl
microsoft.public.windows.vista.general:369078
| >NNTP-Posting-Host: tk2msftibfm01.phx.gbl 10.40.244.149
| >X-Tomcat-NG: microsoft.public.windows.vista.general
| >
| >One last question. You are making the determination by using the key
| >HKLM\SYSTEM\CurrentControlSet\Control\Session
| >Manager\Environment\PROCESSOR_ARCHITECTURE. Doesn't this refer to the
| >processor's capability rather than the OS bit version?
| >
| >If you install a 32-bit OS on a processor capable of supporting 64-bit,
the
| >value at that key will still be x86 regardless of the processor?
| >
| >Sorry to drag this on but the Processor_Architecture key makes this a
little
| >confusing.
| >--
| >
| > Thanks,
| >
| > Rob
| >
| >
| >"PaulM" wrote:
| >
| >> Go here line 14 and download the script and run it.
| >> http://www.paulsxp.com/tweaksvista.html
| >>
| >> --
| >> Paul's XP and Vista Tweaks
| >> ---------------------------------------
| >> www.paulsxp.com
| >>
| >> Paul's XP and Vista Help Forum
| >> --------------------------------------------
| >> www.paulsxp.com/forum
| >>
| >> Live Support
| >> ------------------
| >> www.paulsxp.com/livesupport.html
| >>
| >> | >> > Hi,
| >> >
| >> > I need to find out if there is a way to determine the operating
system
| >> > version and whether it is 32 or 64-bit by using the registry. I am
aware
| >> > of
| >> > the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
| >> > NT\CurrentVersion\CurrentVersion. Windows XP would be 5.1 and Vista
would
| >> > be
| >> > 6.0. I noticed that both the 32 and 64 bit versions are set to
version
| >> > 6.0.
| >> > Does anyone know where to find the bit version installed in the
registry?
| >> > System Information is able to tell so it must be in the registry
| >> > somewhere.
| >> >
| >> > I have been searching the internet for awhile without much luck so
far.
| >> >
| >> > --
| >> >
| >> > Thanks,
| >> >
| >> > Rob
| >>
| >>
| >
 
R

RobM

Just for the record, I just found out that there is an environment variable
assigned for this purpose. If you use %Processor_Architecture%, that will
also get the information I was looking for. I could just as easily use this
for my purpose as looking in the registry.

--

Thanks,

Rob


RobM said:
Ok, that answers all of my questions. Thank you to everyone that helped on
this! It is very much appreciated!

--

Thanks,

Rob


"Darrell Gorter[MSFT]" said:
Hello Rob,
The Processor_Architecture should show the OS platform
The Processor_Identifier shows the hardware of the chip that is installed.
Thanks,
Darrell Gorter[MSFT]

This posting is provided "AS IS" with no warranties, and confers no rights
--------------------
| >Thread-Topic: Determine OS version and bit type from the registry
| >thread-index: AclUB0k5OIqZoiexTuuBfRB/PxwOHQ==
| >From: =?Utf-8?B?Um9iTQ==?= <[email protected]>
| >References: <[email protected]>
<es5TZs#[email protected]>
| >Subject: Re: Determine OS version and bit type from the registry
| >Date: Mon, 1 Dec 2008 14:51:02 -0800
| >Lines: 60
| >Message-ID: <[email protected]>
| >MIME-Version: 1.0
| >Content-Type: text/plain;
| > charset="Utf-8"
| >Content-Transfer-Encoding: 7bit
| >X-Newsreader: Microsoft CDO for Windows 2000
| >Content-Class: urn:content-classes:message
| >Importance: normal
| >Priority: normal
| >X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.3168
| >Newsgroups: microsoft.public.windows.vista.general
| >Path: TK2MSFTNGHUB02.phx.gbl
| >Xref: TK2MSFTNGHUB02.phx.gbl
microsoft.public.windows.vista.general:369078
| >NNTP-Posting-Host: tk2msftibfm01.phx.gbl 10.40.244.149
| >X-Tomcat-NG: microsoft.public.windows.vista.general
| >
| >One last question. You are making the determination by using the key
| >HKLM\SYSTEM\CurrentControlSet\Control\Session
| >Manager\Environment\PROCESSOR_ARCHITECTURE. Doesn't this refer to the
| >processor's capability rather than the OS bit version?
| >
| >If you install a 32-bit OS on a processor capable of supporting 64-bit,
the
| >value at that key will still be x86 regardless of the processor?
| >
| >Sorry to drag this on but the Processor_Architecture key makes this a
little
| >confusing.
| >--
| >
| > Thanks,
| >
| > Rob
| >
| >
| >"PaulM" wrote:
| >
| >> Go here line 14 and download the script and run it.
| >> http://www.paulsxp.com/tweaksvista.html
| >>
| >> --
| >> Paul's XP and Vista Tweaks
| >> ---------------------------------------
| >> www.paulsxp.com
| >>
| >> Paul's XP and Vista Help Forum
| >> --------------------------------------------
| >> www.paulsxp.com/forum
| >>
| >> Live Support
| >> ------------------
| >> www.paulsxp.com/livesupport.html
| >>
| >> | >> > Hi,
| >> >
| >> > I need to find out if there is a way to determine the operating
system
| >> > version and whether it is 32 or 64-bit by using the registry. I am
aware
| >> > of
| >> > the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
| >> > NT\CurrentVersion\CurrentVersion. Windows XP would be 5.1 and Vista
would
| >> > be
| >> > 6.0. I noticed that both the 32 and 64 bit versions are set to
version
| >> > 6.0.
| >> > Does anyone know where to find the bit version installed in the
registry?
| >> > System Information is able to tell so it must be in the registry
| >> > somewhere.
| >> >
| >> > I have been searching the internet for awhile without much luck so
far.
| >> >
| >> > --
| >> >
| >> > Thanks,
| >> >
| >> > Rob
| >>
| >>
| >
 
D

Darrell Gorter[MSFT]

Hello Rob,
Note about using the environment variable to be aware of.
This will change depending on whether you are running the 64-bit cmd prompt
or the wow64 (32-bit) cmd prompt.
If you run the 64-bit \windows\system32\CMD.exe you will get AMD64
If you run 32-bit \windows\syswow64\cmd.exe you will get x86.
Thanks,
Darrell Gorter[MSFT]

This posting is provided "AS IS" with no warranties, and confers no rights
--------------------
| >Thread-Topic: Determine OS version and bit type from the registry
| >thread-index: AclUyMO4SzsjBOBzTa+hfwscHn0L0A==
| >X-WBNR-Posting-Host: 207.46.19.197
| >From: =?Utf-8?B?Um9iTQ==?= <[email protected]>
| >References: <[email protected]>
<es5TZs#[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
| >Subject: Re: Determine OS version and bit type from the registry
| >Date: Tue, 2 Dec 2008 13:56:01 -0800
| >Lines: 130
| >Message-ID: <[email protected]>
| >MIME-Version: 1.0
| >Content-Type: text/plain;
| > charset="Utf-8"
| >Content-Transfer-Encoding: 7bit
| >X-Newsreader: Microsoft CDO for Windows 2000
| >Content-Class: urn:content-classes:message
| >Importance: normal
| >Priority: normal
| >X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.3168
| >Newsgroups: microsoft.public.windows.vista.general
| >Path: TK2MSFTNGHUB02.phx.gbl
| >Xref: TK2MSFTNGHUB02.phx.gbl
microsoft.public.windows.vista.general:369304
| >NNTP-Posting-Host: tk2msftibfm01.phx.gbl 10.40.244.149
| >X-Tomcat-NG: microsoft.public.windows.vista.general
| >
| >Just for the record, I just found out that there is an environment
variable
| >assigned for this purpose. If you use %Processor_Architecture%, that
will
| >also get the information I was looking for. I could just as easily use
this
| >for my purpose as looking in the registry.
| >
| >--
| >
| > Thanks,
| >
| > Rob
| >
| >
| >"RobM" wrote:
| >
| >> Ok, that answers all of my questions. Thank you to everyone that
helped on
| >> this! It is very much appreciated!
| >>
| >> --
| >>
| >> Thanks,
| >>
| >> Rob
| >>
| >>
| >> ""Darrell Gorter[MSFT]"" wrote:
| >>
| >> > Hello Rob,
| >> > The Processor_Architecture should show the OS platform
| >> > The Processor_Identifier shows the hardware of the chip that is
installed.
| >> > Thanks,
| >> > Darrell Gorter[MSFT]
| >> >
| >> > This posting is provided "AS IS" with no warranties, and confers no
rights
| >> > --------------------
| >> > | >Thread-Topic: Determine OS version and bit type from the registry
| >> > | >thread-index: AclUB0k5OIqZoiexTuuBfRB/PxwOHQ==
| >> > | >From: =?Utf-8?B?Um9iTQ==?= <[email protected]>
| >> > | >References: <[email protected]>
| >> > <es5TZs#[email protected]>
| >> > | >Subject: Re: Determine OS version and bit type from the registry
| >> > | >Date: Mon, 1 Dec 2008 14:51:02 -0800
| >> > | >Lines: 60
| >> > | >Message-ID: <[email protected]>
| >> > | >MIME-Version: 1.0
| >> > | >Content-Type: text/plain;
| >> > | > charset="Utf-8"
| >> > | >Content-Transfer-Encoding: 7bit
| >> > | >X-Newsreader: Microsoft CDO for Windows 2000
| >> > | >Content-Class: urn:content-classes:message
| >> > | >Importance: normal
| >> > | >Priority: normal
| >> > | >X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.3168
| >> > | >Newsgroups: microsoft.public.windows.vista.general
| >> > | >Path: TK2MSFTNGHUB02.phx.gbl
| >> > | >Xref: TK2MSFTNGHUB02.phx.gbl
| >> > microsoft.public.windows.vista.general:369078
| >> > | >NNTP-Posting-Host: tk2msftibfm01.phx.gbl 10.40.244.149
| >> > | >X-Tomcat-NG: microsoft.public.windows.vista.general
| >> > | >
| >> > | >One last question. You are making the determination by using the
key
| >> > | >HKLM\SYSTEM\CurrentControlSet\Control\Session
| >> > | >Manager\Environment\PROCESSOR_ARCHITECTURE. Doesn't this refer to
the
| >> > | >processor's capability rather than the OS bit version?
| >> > | >
| >> > | >If you install a 32-bit OS on a processor capable of supporting
64-bit,
| >> > the
| >> > | >value at that key will still be x86 regardless of the processor?
| >> > | >
| >> > | >Sorry to drag this on but the Processor_Architecture key makes
this a
| >> > little
| >> > | >confusing.
| >> > | >--
| >> > | >
| >> > | > Thanks,
| >> > | >
| >> > | > Rob
| >> > | >
| >> > | >
| >> > | >"PaulM" wrote:
| >> > | >
| >> > | >> Go here line 14 and download the script and run it.
| >> > | >> http://www.paulsxp.com/tweaksvista.html
| >> > | >>
| >> > | >> --
| >> > | >> Paul's XP and Vista Tweaks
| >> > | >> ---------------------------------------
| >> > | >> www.paulsxp.com
| >> > | >>
| >> > | >> Paul's XP and Vista Help Forum
| >> > | >> --------------------------------------------
| >> > | >> www.paulsxp.com/forum
| >> > | >>
| >> > | >> Live Support
| >> > | >> ------------------
| >> > | >> www.paulsxp.com/livesupport.html
| >> > | >>
| >> > | >> | >> > | >> > Hi,
| >> > | >> >
| >> > | >> > I need to find out if there is a way to determine the
operating
| >> > system
| >> > | >> > version and whether it is 32 or 64-bit by using the registry.
I am
| >> > aware
| >> > | >> > of
| >> > | >> > the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
| >> > | >> > NT\CurrentVersion\CurrentVersion. Windows XP would be 5.1 and
Vista
| >> > would
| >> > | >> > be
| >> > | >> > 6.0. I noticed that both the 32 and 64 bit versions are set
to
| >> > version
| >> > | >> > 6.0.
| >> > | >> > Does anyone know where to find the bit version installed in
the
| >> > registry?
| >> > | >> > System Information is able to tell so it must be in the
registry
| >> > | >> > somewhere.
| >> > | >> >
| >> > | >> > I have been searching the internet for awhile without much
luck so
| >> > far.
| >> > | >> >
| >> > | >> > --
| >> > | >> >
| >> > | >> > Thanks,
| >> > | >> >
| >> > | >> > Rob
| >> > | >>
| >> > | >>
| >> > | >
| >> >
| >> >
| >
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top