Is there a filter for detecting a 64-Bit capable processor? I can find 32/64 bit OS filter, but thats not what i want.
I am looking to find out what computers have windows 7 32bit but have 64 bit capable processors. i assume i would be looking for a variable such as instruction set, or em64T. What filter settings should i be looking for?
-
I have used the Win32_Processor and searched for "DataWidth" to get the CPU Bits and then Win32_OperatingSystem and searched for "OSArchitecture" for the OS Bits in my scripting. You can tell if the OS is 32 bit and the CPU is capable of 64 bit instructions. I normally use perl scripting, but these can also be queried from .vbs scripts or powershell scripts as well.
-
DW,
Thank you for the reply. I understand a bit about the datawidth. I am new to pdq inventory, so when you say the "win32_processor" is that a search variable? What category is it under? In other words, how would i actually do that search to make a "collection of 64 bit processors"
Thank you in advance!
-
Actually, my comment was directed to scripting with WMI to get the info, I have not found a direct report within the inventory software. I wrote a quick script that will create a directory called C:\Test and place a file in it named for what you are looking for. The file's name will be something like "32-bit os on 64-bit cpu.txt". You can use the "scan profiles" in PDQ inventory to scan for all files in C:\Test (or wherever you change the path to). You can create a dynamic collection to search for files containing "32-bit os on 64-bit cpu.txt", that result should be what you are looking for. The script I wrote is below, save it with a .vbs extension and invoke it with pdq deploy! Good luck!
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set collection = objWMI.ExecQuery("Select * from Win32_Processor")
For Each item in collection
CPU = item.DataWidth & "-bit CPU"
Next
Set collection = objWMI.ExecQuery("Select * from Win32_OperatingSystem")
For Each item in collection
OS = item.OSArchitecture & " OS"
Next
filepath = "C:\Test"
If Not objFSO.FolderExists(filepath) Then
objFSO.CreateFolder filepath
End If
filename = filepath & "\" & OS & " on " & CPU & ".txt"
Set objFile = objFSO.CreateTextFile(filename,True)
objFile.Write "OS Bits: "& OS & vbCrLf
objFile.Write "CPU Bits: "& CPU & vbCrLf
objFile.Close
Please sign in to leave a comment.
Comments
6 comments