Задать вопрос
FreeTibet
@FreeTibet
dharma supplier

WMI idle timeout

Здравствуйте. Волею судеб вынужден был стокнутся с WMI. Проблем особых нет, в принципе всё просто и понятно, но есть следующий момент:

Допустим я хочу написать скрипт, который переодически выполняет некоторые запросы к серверу. Время между запросами варьируется, допустим, от пяти минут до часа.

Так вот, если между запросами проходит больше чем пятнадцать минут (примерно) запрос выполнить не удаётся, он вызывает ошибку: «The object invoked has disconnected from its clients».

Я смотрел сниффером RPC пакеты, и в случае такой ошибки присутствует пакет, содержащий код ошибки RPC_E_DISCONNECTED.

Вот тестовый VBS скрипт:

strComputer = "10.77.0.202"

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemService = objSWbemLocator.ConnectServer (strComputer, "root\cimv2", "Administrator", "1")

Set colItems = objSWbemService.ExecQuery("select Name from Win32_ComputerSystem",,48)
For Each objItem in colItems
Wscript.Echo "Name: "& objItem.Name
Next

WScript.Sleep 2200000
Wscript.Echo "test"

Set colItems = objSWbemService.ExecQuery("select Name from Win32_ComputerSystem",,48)
For Each objItem in colItems
Wscript.Echo "Name: "& objItem.Name
Next


Насколько я понимаю, где-то на стороне происходит разрыв сессии в случае если от клиента в течении определенного времени не поступало запросов.

Скажите, уважаемые знатоки, как правильно обойти эту проблему?
  • Вопрос задан
  • 2868 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы