我有一个存储在vbscript数组中的计算机名称列表,需要检查这些名称是否在SCCM中具有对象。
我尝试使用类似于以下内容的查询:set accounts = sQbemServices.ExecQuery("select * FROM SMS_R_System WHERE name = '" & testForName & "'") 查看 SCCM。 只要计算机名称有效,这就可以正常工作,但是一旦达到无效名称,它似乎就会停止。 我试过输出错误号,但这总是返回"0"并检查结果是否为 null,但这不起作用。
这是检查计算机对象是否存在的最佳方法吗,如果是这样,任何人都可以告诉我我做错了什么吗? 如果没有,任何指示将不胜感激。
SWbemServices.ExecQuery
通常返回一个SWbemObjectSet
。如果查询找到有效的计算机,则accounts.Count
应为 1 或更多,否则为 0。例如:
If (accounts.Count > 0) Then
WScript.Echo "Found Computer in SCCM"
Else
WScript.Echo "Computer is not in SCCM"
End If
有关SWbemServices
的更多信息:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa393866(v=vs.85).aspx