Оператор VBScript IF для определения версии ОС и ServicePack

Я пишу сценарий развертывания для Office 2010 и нескольких других приложений, одна из проблем, с которыми мы столкнулись при тестировании, заключалась в следующем. на некоторых компьютерах все еще была XP SP2, поэтому я хотел закодировать ее в качестве меры безопасности.

Я придумал это

Set colOperatingSystem = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystem
ServicePack = objOperatingSystem.ServicePackMajorVersion
Next

IF not ServicePack = "3" Then

MsgBox "WARNING: prerequisite to installing Microsoft Office 2010 Professional you must first install service pack 3" & VbCrlf & "your current Service Pack Version is " & ServicePack

ELSE

'Do Nothing

END IF

Я подключил его к машине с XP SP2 и получил всплывающее окно с предупреждением _WindowLoad, поэтому я был доволен, но затем, как только я подключил его к своей машине с Windows 7, он выдает то же сообщение, немного покопавшись в powershell, я понимаю, что, поскольку Windows 7 сообщает, что номер ServicePackMajorVersion равен «1», поэтому он не соответствует условному,

В надежде, что у кого-нибудь появится идея, как написать оператор IF / Conditional для обхода ПК с Windows 7, я посмотрел на номер сборки 7601, но не уверен, как мне вложить эти

0
задан Matt Hamende 11 April 2012 в 01:24
поделиться