Da letzte Woche vermehrt User mit den Suchbegriffen “wmi filter abfrage 64bit oder 32 bit” auf meine Seite gestossen sind (und diese Frage nicht detailliert beantwortet wurde), nachfolgend ein kleines Script, das die Frage beantwortet, welcher Architektur der abgefragte Client zuzuweisen ist: x64 (64 bit) oder x86 (32 bit)
»download wmi_x86_x64.vbs [1731 x heruntergeladen]
Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20 arrComputers = Array(".") For Each strComputer In arrComputers inhalt = "Computer: " & strComputer & vbcrlf Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem WHERE SystemType LIKE '%86%'", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly) For Each objItem In colItems if instr(objItem.SystemType,"86") THEN wscript.echo "Ist ein 32-bit System!" else wscript.echo "Ist KEIN 32-bit-System!" end if Next Next
bei einer WMI-Abfrage für eine Gruppenrichtlinie müsste der Befehl also lauten:
SELECT * FROM Win32_ComputerSystem WHERE SystemType LIKE ‘%86%’
[PS: dieses Script konnte ich bisher nur auf einem x86-System testen (da ich kein x64-System zu Hause habe...
über kurzes Feedback, ob das Ding läuft, würde ich mich freuen...]
Anmerkung:
Trotz der Möglichkeit, zwischen einzelnen Architekturen mittels wmi zu unterscheiden, ist es möglicherweise doch einfacher und daher sinnvoller, die einzelnen Gruppenrichtlinien über den Zielgruppenaddressierungseditor bzw. über eine detaillierter Zuordnung unterschiedlicher Architekturen zu unterschiedlichen OrganisationUnits gezielt zuzuordnen!