Если на нелокальном компьютере не доступен сервис RPC (Remote procedure call), то при попытке подключения к нему через WMI-locator (WbemScripting.SWbemLocator) я получаю довольно долгое ожидание (20-60 сек). А если таких компьютеров еще и много, то общее ожидание получается очень долгим. Как можно уменьшить ожидание в методе
WbemScripting.SWbemLocator.ConnectServer ?
Перед выполнением этого метода я естественно проверяю хост пингом.
Вот пример кода на 1С
WMI = Новый COMОбъект("WbemScripting.SWbemLocator");
WMI.ConnectServer("ya.ru");
В общем придется перед вызовом метода делать асинхронный rpcping -s <имясервера> и прекращать ожидание по своему счетчику времени.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший