Я пишу сценарий развертывания для 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, но не уверен, как мне вложить эти