0

vbscript 配列に保存されているコンピューター名のリストがあり、これらが SCCM にオブジェクトを持っているかどうかを確認する必要があります。

set accounts = sQbemServices.ExecQuery("select * FROM SMS_R_System WHERE name = '" & testForName & "'") のようなクエリを使用して、 SCCM を調べてみました。これは、コンピューター名が有効である限り問題なく機能しますが、無効な名前に達すると停止するようです。エラー番号を出力しようとしましたが、これは常に「0」を返し、結果がnullかどうかを確認しますが、これは機能しません。

これは、コンピューター オブジェクトが存在することを確認する最善の方法ですか? そうでない場合は、ポインタをいただければ幸いです。

4

1 に答える 1

0

SWbemServices.ExecQuery通常は a を返しますSWbemObjectSet。クエリで有効なコンピューターが見つかった場合はaccounts.Count1 以上、それ以外の場合は 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 に答える