Я не уверен, что вам нужно проверить, выполняется ли скрипт под x64.
Попробуйте прочитать из HKLM\Software\Wow6432Node\xyz
, если это не удастся, попробуйте прочитать из HKLM\Software\xyz
, если это не удастся, ваш раздел реестра не существует, выполните все необходимые действия.
Конечно, если ваш дизайн более сложный (например, вы записываете значение в этот раздел реестра, если он не существует), тогда это предложение не будет работать.
Вот сценарий VBScript для проверки операционной системы. Вам, вероятно, также понадобится объяснение свойств, доступных из класса Win32_OperatingSystem
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
msg = objOperatingSystem.Caption & " " & _
objOperatingSystem.Version & " " & _
objOperatingSystem.OSArchitecture
msgbox msg
Next
Обратите внимание, что для Windows XP и 2003 OSArchitecture
недоступен, и в этом случае вам, вероятно, придется проверить либо Caption
, либо Version
, чтобы определить, является ли ваша ОС 64-битной.
Вы также можете использовать что-то вроде это в зависимости от уровня сложности, который вам требуется.