Сценарий: Я развертываю пакеты программного обеспечения через SCCM, а иногда они запускают файлы CMD, которые управляют установкой, как только они поступают на компьютер. Для пакетов, которые установлены для запуска в x86 и x64 машинах, условие выглядит следующим образом:Получение платформы ОС через SCCM/CMD/VBS
for /f "Tokens=*" %%i in ('CD') do set CurDir=%%i
cd "%CurDir%"
If Exist "C:\program files (x86)" goto X64
Msiexec /i "x86.msi"
:X64
Msiexec /i "x64.msi"
Но из-за некоторые изменения в нашей среде, что не хватает. Я нашел способ получить эту информацию через VBS (который мы используем здесь, а), но у меня возникают проблемы передачи этого значения по
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
msg = objOperatingSystem.OSArchitecture
Next
Есть ли вообще «переводить», что таким образом я могу conditionalize CMD для запуска правой команды для каждой платформы?
Заранее благодарен!
Вы можете использовать 'Wmic ОС получить OSArchitecture' в пакетный сценарий, но почему? VBScript гораздо более универсален, чем может стоить партия. Вы можете просто ['Run'] (http://msdn.microsoft.com/en-us/library/d5fk67ky%28v=vs.85%29.aspx) установщиков из VBScript. Если что-нибудь, то вы должны перейти к PowerShell, а не назад к пакету. –
Спасибо, Ансгар! Фактически, мы уже изучаем обновление до Powershell, но мы распространяем глобально, а версии PS еще не стандартизированы. Тем не менее, мне нужно было бы найти способ получить эту информацию только через CMD (как и сейчас), так как скрипты vb вызываются только во время ExecSequence MSI ... – Henrique
Так же, как дополнительная идея (я бы, вероятно, не сделайте это сам, так как imo pure vbs - это самый удобный вариант для sccm), чтобы рассмотреть: вы также можете позволить sccm сделать чек. Если вы создаете две программы, вы можете указать, что среда будет исключительно 32-битной на одной и 64-битной, с другой. – Syberdoor