Как определить платформу ОС с WMI? - PullRequest
11 голосов
/ 12 сентября 2009

Я пытаюсь выяснить, есть ли место в WMI, которое будет возвращать архитектуру ОС (то есть 32-разрядную или 64-разрядную), которая будет работать во всех версиях Windows. Я подумал, что понял это, глядя на свою систему Win2k8, когда обнаружил следующее:

 Win32_OperatingSystem / OSArchitecture

Я был не прав. Похоже, что это поле не существует в системах Win2k3. Argh!

Итак, кто-нибудь знает о другом поле в WMI, которое "одинаково" в разных версиях сервера? Если нет, то как насчет того же ключа реестра? Я использую инструмент, который позволяет мне настраивать простые полевые запросы, поэтому я не могу использовать сложный сценарий для выполнения.

Любая помощь будет принята с благодарностью.

Ответы [ 13 ]

0 голосов
/ 09 июля 2011

Я знаю, что это старо, я публикую это для всех в будущем. Попробуйте посмотреть мой скрипт . Он написан на BATCH и использует WMIC, если он находится на компьютере, но не нужен для определения, работает ли ОС на 32-битной 64-битной ОС.

0 голосов
/ 19 мая 2010

В VBS:

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
   WScript.Echo "AddressWidth: " & objItem.AddressWidth
Next
0 голосов
/ 12 сентября 2009

(не проверено), но может быть:

Класс CIM_Processor (AddressWidth)

...