Назад | Перейти на главную страницу

Отчет SCCM для идентификации машин с 64-битным оборудованием

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

Кажется, в сети есть несколько ресурсов для этого (Вот, Вот и Вот), но ни один из них, похоже, не работает правильно на машинах с 32-разрядной Windows XP. 32-битные машины XP, кажется, всегда сообщают, что они работают на 32-битном оборудовании.

В настоящее время я выполняю следующий запрос:

select sys.netbios_name0, sys.Operating_System_Name_and0 as OperatingSystem, 
case when pr.addresswidth0=64 then '64bit OS'
when pr.addresswidth0=32 then '32bit OS'
end as [Operating System Type],
case when pr.DataWidth0=64 then '64bit Processor'
when pr.DataWidth0=32 then '32bit Processor'
end as [Processor Type],
case when pr.addresswidth0=32 and pr.DataWidth0=64 then 'YES'
end as [32-bit OS on x64 processor]
from v_r_system sys
join v_gs_processor pr on sys.resourceid=pr.resourceid

Я также пробовал это, что говорит о том, что все системы «Windows XP Professional» работают на «ПК на базе X86», а не на базе x64, хотя некоторые из них определенно являются:

select
    OS.Caption0,
    CS.SystemType0,
    Count(*)
from
    dbo.v_GS_COMPUTER_SYSTEM CS Left Outer Join dbo.v_GS_OPERATING_SYSTEM OS on CS.ResourceID = OS.ResourceId
Group by
    OS.Caption0,
    CS.SystemType0
Order by
    OS.Caption0,
    CS.SystemType0

Например, у нас есть набор ноутбуков Dell Latitude E4200. Некоторые из них работают под управлением 32-битной Windows XP SP3, некоторые из них работают под управлением 32-битной Windows 7, некоторые работают под управлением 64-битной Windows 7. Все ноутбуки идентичны, они поступили из одного и того же заказа. Из них Windows 7 (32- и 64-разрядная версии) сообщает, что оборудование поддерживает 64-разрядные версии, а машины с Windows XP сообщают, что они поддерживают только 32-разрядные версии.

Кто-нибудь знает, есть ли другое значение, которое я могу запросить, чтобы правильно получить возможности оборудования в XP, или есть исправление, которое заставит его сообщать правильную информацию?

У меня было чувство, что публикация здесь будет тем, что заставило меня найти фактический ответ сам!

Обнаружили свойство системного процессора, которое, кажется, точно отвечает на вопрос во всех ОС, с которыми я тестировал (сервер и рабочая станция начиная с XP / 2003). Что у меня есть v_GS_PROCESSOR.Is64Bit0 что дает 1 или 0 в зависимости от того, поддерживает ли ЦП 64-разрядную версию.

Мои запросы SCCM сейчас (для сводки сверху вниз):

select
    OS.Caption0,
    case when pr.Is64Bit0=1 then '64-bit'
    when pr.Is64Bit0=0 then '32-bit'
    end as [Processor Type],
    Count(*)
from
    dbo.v_gs_processor PR Left Outer Join dbo.v_GS_OPERATING_SYSTEM OS on PR.ResourceID = OS.ResourceId
Group by
    OS.Caption0,
    pr.Is64Bit0
Order by
    OS.Caption0,
    pr.Is64Bit0

И (для машины по машинному листингу):

select sys.netbios_name0, sys.Operating_System_Name_and0 as OperatingSystem, 
case when pr.Is64Bit0=1 then 'Yes 64-bit'
when pr.Is64Bit0=0 then 'No 32-bit'
end as [Processor Is 64-Bit?],
case when pr.addresswidth0=64 then '64-bit OS'
when pr.addresswidth0=32 then '32-bit OS'
end as [Operating System Type],
case when pr.DataWidth0=64 then '64-bit Processor'
when pr.DataWidth0=32 then '32-bit Processor'
end as [Processor Type (XP Lies)],
case when pr.addresswidth0=32 and pr.Is64Bit0=1 then 'YES'
end as [32-bit OS on x64 processor]
from v_r_system sys
join v_gs_processor pr on sys.resourceid=pr.resourceid