对不起,此代码有问题-来自
我通常不使用VB,而是使用PS,并尝试过各种编辑该代码第7行的事情:
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &strComputer & "\root\cimv2")
没有成功。有人可以帮忙吗?对于某人来说这可能很容易-这将帮助我将vb用作不运行Windows Management Framework / PowerShell的旧硬件的检测子句。
'Returns if Windows KB2506143 installed
Option Explicit
Dim objWMI, strComputer
strComputer = "."
'Run the query
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &strComputer & "\root\cimv2")
Dim listPatches
Dim patch
Set listPatches = objWMI.ExecQuery ("Select * from win32_QuickFixEngineering where HotFixID like 'KB960568'")
For Each patch in listPatches
Wscript.echo "Update installed"
Next
WScript.Quit
C:\Users\royston\AppData\Local\Adersoft\VbsEdit\Temp\BCAWFOZT.vbs(7, 76) Microsoft VBScript compilation error: Expected ')'
***** script completed - exit code: 1 *****
先谢谢了。
答案 0 :(得分:3)
这可能只是将代码粘贴到该站点用于解释它的内容中的问题。应该说
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
但是由于这确实有点像我的烦恼,我想补充一点,当不将strComputer用作变量时,使用strComputer的整个概念实际上是没有用的。 我知道在网络上的每个示例中都可以完成此操作,但是如果您想在本地而不是远程运行wmi,只需使用
Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
并放下strComputer = "."
行。当像变量一样使用变量时,确实不需要使脚本更难阅读。