【问题标题】:Checking whether an object exists in SCCM using vbScript使用 vbScript 检查 SCCM 中是否存在对象
【发布时间】:2012-06-09 00:08:41
【问题描述】:

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

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

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

【问题讨论】:

  • 这可能是一个愚蠢的问题,但 testForName 是否包含撇号? (')

标签: vbscript sccm


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2013-09-26
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多