Windows-Xp
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的PC”上,而不是基於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
例如,我們有一套戴爾 Latitude E4200 筆記型電腦。其中一些執行 32 位 Windows XP SP3,其中一些執行 32 位 Windows 7,一些執行 64 位 Windows 7。所有筆記型電腦都是相同的,來自相同的訂單。其中,Windows 7(32 位和 64 位)報告硬體支持 64 位,而 Windows XP 機器報告它們僅支持 32 位。
有誰知道我是否可以查詢另一個值以在 XP 上正確獲取硬體的功能,或者是否有一個修補程序可以讓它報告正確的資訊?
我有一種感覺,在這裡發帖會讓我自己找到實際答案!
發現系統處理器的一個屬性似乎在我測試過的所有作業系統(伺服器和工作站從 XP/2003 起)上完全正確地回答了這個問題。我所擁有的是根據 CPU 是否支持 64 位
v_GS_PROCESSOR.Is64Bit0
來給出 a1
或 a 。0
我的 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