繁体   English   中英

在VB脚本中使用WMI对象来确定要运行的程序

[英]Using WMI objects in VB script to decide which programs to run

我有一个vbscript,可以找到OS,Service Pack和OS体系结构,但是当我尝试在If If语句中使用该对象(未定义)时,我试图对其进行声明,但这没有用。 我要完成的工作是创建一个脚本,该脚本将定义OS,Service Pack以及系统是x86还是x64,并执行一个程序,该程序将安装特定于该系统的更新,但我遇到了麻烦。

Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

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

For Each objOperatingSystem in colOperatingSystems
    Wscript.Echo "Version: " & objOperatingSystem.Version
    Wscript.Echo "Service Pack: " & objOperatingSystem.CSDVersion
    Wscript.Echo "CPU Bit: " & objOperatingSystem.OSArchitecture
Next

我假设您没有存储要用“ wscript.echo”回显的那些变量。

您可以使用以下示例(或进行案例说明):

Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

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

For Each objOperatingSystem in colOperatingSystems
   osVersion      = objOperatingSystem.Version
   osCSDVersion   = objOperatingSystem.CSDVersion
   osArchitecture = objOperatingSystem.OSArchitecture
Next

Wscript.Echo "Version: "  & osVersion
Wscript.Echo "Service Pack: " & osCSDVersion
Wscript.Echo "CPU Bit: " & osArchitecture


If InStr(LCase(osArchitecture), "64-bit") Then
    wscript.echo "64-bit"
    ' .... Do stuff here ....
Else
    wscript.echo "not 64-bit"
    ' .... Do stuff here ....
End If

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM