用于确定操作系统版本和ServicePack的VBScript IF语句
我正在为Office 2010和其他几个应用程序编写部署脚本,我们在测试中遇到的问题之一是一些计算机仍然有XP SP2,因此我想为此编写一个安全措施代码 我想到了这个用于确定操作系统版本和ServicePack的VBScript IF语句,vbscript,wmi,Vbscript,Wmi,我正在为Office 2010和其他几个应用程序编写部署脚本,我们在测试中遇到的问题之一是一些计算机仍然有XP SP2,因此我想为此编写一个安全措施代码 我想到了这个 Set colOperatingSystem = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colOperatingSystem ServicePack = objOperatingS
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 PC,我查看了版本号7601,但不确定如何嵌套这些签出:
首先查找操作系统版本,如果XP查找SP 3,如果Win 7查找SP 1。请检查:
首先查找操作系统版本,然后如果XP查找SP 3,如果Win 7查找SP 1。要测试您是否在Windows XP下运行,必须检查
Win32\u OperatingSystem
WMI类的version
属性是否以5.1
检查一下这个样品
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystem = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystem
ServicePack = objOperatingSystem.ServicePackMajorVersion
Version = objOperatingSystem.Version
Next
IF Mid(Version,1,3)="5.1" And 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
要测试是否在Windows XP下运行,必须检查
Win32\u OperatingSystem
WMI类的Version
属性是否以5.1
检查一下这个样品
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOperatingSystem = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystem
ServicePack = objOperatingSystem.ServicePackMajorVersion
Version = objOperatingSystem.Version
Next
IF Mid(Version,1,3)="5.1" And 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
我的完美主义者真的想更改代码以测试低于3的service pack,但我意识到这可能是出于自愿,因为不会有SP4。我的完美主义者真的想更改代码以测试低于3的service pack,但我意识到这可能是出于自愿,因为不会有SP4。