0

我有一个存储在 vbscript 数组中的计算机名称列表,需要检查这些计算机名称是否在 SCCM 中有对象。

我尝试使用类似于: set accounts = sQbemServices.ExecQuery("select * FROM SMS_R_System WHERE name = '" & testForName & "'") 的查询来查看 SCCM。只要计算机名称有效,就可以正常工作,但是一旦达到无效名称,它似乎就会停止。我试过输出错误号,但这总是返回一个'0'并检查结果是否为空,但这不起作用。

这是检查计算机对象是否存在的最佳方法吗?如果是,谁能告诉我我做错了什么?如果没有,任何指针将不胜感激。

4

1 回答 1

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

于 2012-06-08T16:08:41.607 回答