我有一个存储在vbscript数组中的计算机名列表,需要检查它们是否在SCCM中有一个对象。
我尝试过使用类似的查询: 设置accounts = sQbemServices.ExecQuery(“select * FROM SMS_R_System WHERE name ='”& testForName&“'”)以查看SCCM。只要计算机名称有效,这就可以正常工作,但一旦它到达无效名称,它似乎就会停止。我已经尝试输出错误号,但这总是返回一个'0'并检查结果是否为空,但这不起作用。
这是检查计算机对象是否存在的最佳方式,如果有,任何人都可以告诉我,我做错了吗?如果没有,任何指针都会非常感激。
答案 0 :(得分:0)
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