vbscript смс запрос по идентификатору запроса
У меня есть этот код, и он не работает, выдает ошибку "Невозможно использовать скобки при вызове Sub" в строке, где я запускаю RunQuery (SCCMConnectionString, queryId)
Sub RunQuery(connection, queryId)
Dim query
Dim queryResults
Dim queryResult
' Get query.
Set query=connection.Get("SMS_Query.QueryID='" & queryId & "'" )
If err.number<>0 Then
WScript.echo "Couldn't get Queries"
Exit Sub
End If
' Run query.
WScript.echo query.Name
WScript.echo "----------------------------------"
Set queryResults=connection.ExecQuery(query.Expression)
For Each queryResult In queryResults
wscript.echo " " & queryResult.Name
Next
If queryResults.Count=0 Then
WScript.echo " no query results"
End If
End Sub
SCCMConnectionString = chr(34) & "Server=OAK-PRD-SCC01;Database=CM_TIM;trusted_connection=True" & chr(34)
queryID = "SMS024"
RunQuery (SCCMConnectionString, queryId)
2 ответа
Основная разница между Sub
и Function
в VBScript функция возвращает значение, а подпрограмма - нет. Скобки разрешены / обязательны при вызове функции и использовании ее возвращаемого значения. Они вообще не разрешены при вызове сабвуфера обычным способом.
Вот исправленная строка (#30):
RunQuery SCCMConnectionString, queryId
Вот документ MS, который идет более подробно: Процедуры VBScript
Любопытно, что вам разрешено использовать скобки, если вы вызываете подпрограмму, используя Call
команда.
Call RunQuery(SCCMConnectionString, queryId)
Как говорится в сообщении об ошибке, вы не можете использовать parantheses при вызове sub в VBScript.
Попробуй это. Он должен работать.
RunQuery SCCMConnectionString, queryId